19/06/13 3:33
pierotofy
Assicurati di studiare bene il codice qui sotto e di leggere un pò di più sulla ricorsione.
it.wikipedia.org/wiki/…
Occhio a & e &&. Sono operatori diversi.
public static String scansionaDirectory(File dir) throws FileNotFoundException, IOException {
File[] elementi = dir.listFiles();
File file = null;
String b="application.java";
for (int i = 0; i < elementi.length; i++) {
file = elementi[i];
String a=file.getName();
System.out.println(a);
if (a.equals(b)){
return file.getAbsolutePath(); // Trovato
}
else if (file.isDirectory() && !file.isHidden()) {
String scansione = scansionaDirectory(file);
if (!scansione.equals("falso")) return scansione; // Trovato
}
}
return "falso";
}
Problemi con questo codice da lasciare come esercizio: può essere strutturato in maniera più semplice (scopri come?) e cosa succede se ho un file chiamato "falso" in una delle directory?
Ultima modifica effettuata da pierotofy 19/06/13 3:37
19/06/13 10:14
tullio1995
Ho provato a mettere un file nominato falso in una delle directory, ma non da nessun errore!
aaa
19/06/13 10:18
probabilmente intendeva false
19/06/13 10:25
tullio1995
Stessa cosa, funziona perfettamente...
aaa
19/06/13 10:32
ah no ok, intendeva proprio falso per il return.