Salve gente,
com'è possibile risucire ad avere una lista di tutti i file contenuti in un cartella?
per contenunti in un cartella intendo anche nelle sottocartelle e così via.
Salve gente,
com'è possibile risucire ad avere una lista di tutti i file contenuti in un cartella?
per contenunti in un cartella intendo anche nelle sottocartelle e così via.
Ti devi costruire una funzione che si legge l'elenco dei file contenuti in una directory (tramite l'utilizzo del metodo listFiles() della classe File) e fa la stessa cosa ricorsivamente su tutte le sottodirectory contenute.
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
ma èOriginariamente inviato da LeleFT
Ti devi costruire una funzione che si legge l'elenco dei file contenuti in una directory (tramite l'utilizzo del metodo listFiles() della classe File) e fa la stessa cosa ricorsivamente su tutte le sottodirectory contenute.
Ciao.![]()
File f= new File?
no perchè eclipse mi da errore..
[un pò ot]
altra cosa, come si fa a far in modo che eclipse metta automaticamente gli import?
ho scaricato l'editor visuale di eclipse, come si fa ad usarlo?
ultima cosa: ho scaricato una libreria .jar, dove devo metterla per farla andare?
[/un pò ot]
Non avendo a disposizione il codice, dato che non lo hai postato, non è semplice aiutarti.
Innanzitutto per creare un oggetto si usa l'operatore new seguito dal costruttore della classe. Ad esempio:
Perchè Eclipse ti dia errore non lo so, probabilmente non hai specificato di importare il package java.io dove risiede la classe File.codice:File f = new File("percorso_alla_tua_directory");
Per tutte le altre domande su Eclipse, credo che dovresti cimentarti un po' di più su Java e meno su Eclipse, dato che l'utilizzo di ambienti di sviluppo del calibro di Eclipse o NetBeans si adattano ben poco a chi inizia a programmare (anzi, dal mio punto di vista, l'approccio ad uno di essi è semplicemente deleterio).
Per la libreria che hai scaricato hai due possibilità:
1) La metti nella directory lib/ext della directory di installazione del JDK, oppure
2) La scompatti all'interno della directory della tua applicazione
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
ma java l'ho fatto l'anno scoroso nel corso di programmazione 2, è che sono un pò arrugginito.. prima usavo jdev ma nn mi piace.Originariamente inviato da LeleFT
Non avendo a disposizione il codice, dato che non lo hai postato, non è semplice aiutarti.
Innanzitutto per creare un oggetto si usa l'operatore new seguito dal costruttore della classe. Ad esempio:
Perchè Eclipse ti dia errore non lo so, probabilmente non hai specificato di importare il package java.io dove risiede la classe File.codice:File f = new File("percorso_alla_tua_directory");
Per tutte le altre domande su Eclipse, credo che dovresti cimentarti un po' di più su Java e meno su Eclipse, dato che l'utilizzo di ambienti di sviluppo del calibro di Eclipse o NetBeans si adattano ben poco a chi inizia a programmare (anzi, dal mio punto di vista, l'approccio ad uno di essi è semplicemente deleterio).
Per la libreria che hai scaricato hai due possibilità:
1) La metti nella directory lib/ext della directory di installazione del JDK, oppure
2) La scompatti all'interno della directory della tua applicazione
Ciao.![]()
Io uso il blocco note... e mi piace tantissimo!Originariamente inviato da bako
ma java l'ho fatto l'anno scoroso nel corso di programmazione 2, è che sono un pò arrugginito.. prima usavo jdev ma nn mi piace.
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
il problema è la ricorsione. è dove c'è il neretto che da il problema. al richiamare la funzionecodice:package provapkg; import java.io.File; public class TestMain { /** * @param args */ public void lista (String partenza){ File f = new File(partenza); File[] list=f.listFiles(); int MAX=list.length; for (int i = 0; i<MAX; i++){ if (list[i].isDirectory()) this.lista(list[i].getName()); else System.out.println(list[i].getName()); } } public static void main(String[] args) { TestMain t = new TestMain(); t.lista("C:\\"); } }
Exception in thread "main" java.lang.NullPointerException
at provapkg.TestMain.lista(TestMain.java:12)
at provapkg.TestMain.lista(TestMain.java:15)
at provapkg.TestMain.main(TestMain.java:22)
credo sia dovuto al fatto che l'array nn è dichiarato o qualcosa di simile.. come si può risolvere?
Credo che il problema stia nel fatto che dovresti passare il percorso assoluto e non solo il nome della directory.
Per farla più breve puoi sostituire il parametro del metodo lista() in modo che esso accetti un oggetto File e non uno String. Così ti eviti il problema e passi solo il contenuto dell'array.
codice:public class TestMain { /** * @param args */ public void lista (File partenza){ // <-- modificato qui File[] list=partenza.listFiles(); // <-- modificato qui int MAX=list.length; for (int i = 0; i<MAX; i++){ if (list[i].isDirectory()) this.lista( list[i] ); // <-- modificato qui else System.out.println(list[i].getName()); } } public static void main(String[] args) { TestMain t = new TestMain(); t.lista( new File("C:\\") ); // <-- modificato qui } }
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza