PDA

View Full Version : [JAVA]aiuto ciclo


Fede865
17-02-2011, 20:22
Ciao a tutti.. avrei bisogno di un consiglio, anzi proprio di un'informazione.
Si puņ fare in java un ciclo, ma non di interi.. un ciclo di file.
Mi spiego meglio, in una cartella ho dei file, come posso fare in modo che li controllo ad uno ad uno...???:help:

PGI-Bis
17-02-2011, 22:35
Non puoi fare un ciclo su un file ma puoi fare un ciclo su array o una collezione di file.

File directory = new File(percorso);
File[] fileNellaDirectory = directory.listFiles();
if(fileNellaDirectory != null) {
for(File f : fileNellaDirectory) {
...fai qualcosa con f }
}

Se devi tener conto dei figli dei figli dei figli devi fare un attraversamento:

File directory = new File(percorso);
ArrayList<File> list= new ArrayList<File>();
File[] files = directory.listFiles();
if(files != null) list.addAll(Arrays.asList(files));
for(int i = 0; i < list.size(); i++) {
File file = list.get(i);
if(file.isDirectory) {
File[] sub= file.listFiles();
if(sub != null) list.addAll(Arrays.asList(sub));
}
...fai qualcosa con file
}

Fede865
18-02-2011, 18:51
Non puoi fare un ciclo su un file ma puoi fare un ciclo su array o una collezione di file.

File directory = new File(percorso);
File[] fileNellaDirectory = directory.listFiles();
if(fileNellaDirectory != null) {
for(File f : fileNellaDirectory) {
...fai qualcosa con f }
}

Se devi tener conto dei figli dei figli dei figli devi fare un attraversamento:

File directory = new File(percorso);
ArrayList<File> list= new ArrayList<File>();
File[] files = directory.listFiles();
if(files != null) list.addAll(Arrays.asList(files));
for(int i = 0; i < list.size(); i++) {
File file = list.get(i);
if(file.isDirectory) {
File[] sub= file.listFiles();
if(sub != null) list.addAll(Arrays.asList(sub));
}
...fai qualcosa con file
}

Grazie mille.. sono riuscita a ciclare!!! grazie per l'aiuto