Slashjr
26-12-2005, 09:41
Sto diventando matto!!!
Devo scrivere un piccolo codice in java che fa questa semplice operazione:
Dato il nome di una cartella ( ad esempio "Radice" ), il programma deve scrivere a schermo per ogni cartella il nome della cartella stessa ed il nome dei file al suo interno. Questo procedimento deve essere fatto per ogni sottocartella presente.
Io ho scritto questa parte di codice ma il risultato non è quello aspettato.
import java.io.*;
public class FindDirectories
{
public static void main(String[] args)
{
// Inizia dalla directory Radice salvo inserimento nella shell
if (args.length == 0) args = new String[] { "Radice" };
try
{
File pathName = new File(args[0]);
// Crea un array di stringhe che contiene i nomi dei file e delle directory
String[] fileNames = pathName.list();
// Enumera tutti i file delle directory
System.out.println("Debug... NUMERO DI FILE E CARTELLE: "+fileNames.length);
for (int i = 0; i < fileNames.length; i++)
{
// Crea un oggetto file con indirizzo ed il nome della directory
File f = new File(pathName.getPath(), fileNames[i]);
// Se il file è di nuovo una directory chiama il main in modo ricorsivo
if (f.isDirectory())
{
System.out.println("Percorso: "+f.getParent());
main(new String [] { f.getPath() });
}
else{
if( !"Thumbs.db".equals(f.getName()) )System.out.println("File "+f.getName() ); // Scrive il nome del file
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
HELP!!!
Devo scrivere un piccolo codice in java che fa questa semplice operazione:
Dato il nome di una cartella ( ad esempio "Radice" ), il programma deve scrivere a schermo per ogni cartella il nome della cartella stessa ed il nome dei file al suo interno. Questo procedimento deve essere fatto per ogni sottocartella presente.
Io ho scritto questa parte di codice ma il risultato non è quello aspettato.
import java.io.*;
public class FindDirectories
{
public static void main(String[] args)
{
// Inizia dalla directory Radice salvo inserimento nella shell
if (args.length == 0) args = new String[] { "Radice" };
try
{
File pathName = new File(args[0]);
// Crea un array di stringhe che contiene i nomi dei file e delle directory
String[] fileNames = pathName.list();
// Enumera tutti i file delle directory
System.out.println("Debug... NUMERO DI FILE E CARTELLE: "+fileNames.length);
for (int i = 0; i < fileNames.length; i++)
{
// Crea un oggetto file con indirizzo ed il nome della directory
File f = new File(pathName.getPath(), fileNames[i]);
// Se il file è di nuovo una directory chiama il main in modo ricorsivo
if (f.isDirectory())
{
System.out.println("Percorso: "+f.getParent());
main(new String [] { f.getPath() });
}
else{
if( !"Thumbs.db".equals(f.getName()) )System.out.println("File "+f.getName() ); // Scrive il nome del file
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
HELP!!!