Ciao,
ho capito che hai qualche problema sul metodo ricorsio.
Non sono molto entrato nel tuo caso particolare ma ho scritto un esempio di ricorsione per vedere la lista di tutti i tuoi files e dirctorys(e sottodirectory) così magari lo puoi utilizzare come spunto per farci la tua logica.
(Mi dispiace se la formattazione dell'output non è molto chiara ma non avevo molto tempo
)
codice:
package test;
import java.io.File;
public class CercaFileInModoRicorsivo {
static private File root = new File("c:/nn");
static private File[] figli = null;
public static void scanRot(File padre, int livello) {
if (padre.isDirectory()){
System.out.println("("+padre.getParent()+") DIR --> Livello: " + livello++ + " : " + padre.getName());
figli = padre.listFiles();
for(File figlio : figli)
scanRot(figlio, livello);
} else System.out.println("("+padre.getParent()+") File --> Livello: " + livello++ + " : " + padre.getName());
}
public static void main(String[] args) {
scanRot(root, 0);
}
}
cmq controlli se è una dir
se è dir ti fai dare la lista dei figli.
per ogni figlio vedi
se è dir --> ripassi il File (che è una dir) al metodo
altrimenti (cioè è un File non dir) lo stampi (fine).
per il test la mia root non parte da c: ma te puoi farlo partire da dove vuoi.
spero di esserti stato d'aiuto.
nh