cs_Kouikoui
Messages postés23Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention26 mars 2007
-
4 août 2006 à 15:44
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023
-
4 août 2006 à 17:45
Bonjour,
J'ai un souci : je voudrais lister un répertoire, trouver tous les fichiers .txt qui sont dedans, y compris ceux des sous-répertoires.
Je précise que je ne connais pas la profondeur des répertoires analysés.
Comment puis-je faire ??
Pour le moment, j'utilise cette méthode :
public Vector scanDir(File dir)
{
File[] files;
files = dir.listFiles();
txtFiles = new Vector<File>(files.length);
for(int i = 0; i < files.length; i++)
{
if(files[i].isFile() && isAcceptable(files[i]))
txtFiles.add(files[i]);
else if(files[i].isDirectory())
scanDir(files[i]);
}
return txtFiles;
}
La méthode isAcceptable teste l'extension du fichier et retourne un booléen.
Ma méthode prend le premier répertoire qu'elle trouve, descend récursivement jusqu'à tomber sur les fichiers...
Mais après, je ne remonte pas de niveau, et je ne sais pas comment récupérer la profondeur de l'arborescence dans laquelle je suis, et du coup, je ne récupère pas tous les fichiers mais seulement ceux du premier répertoire. :S:(
cs_Kouikoui
Messages postés23Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention26 mars 2007 4 août 2006 à 17:13
Hum,
Je vois pas trop ce que tu veux dire ... :S
Le probleme, c'est que je reinitialise mon vecteur a chaque appel de scanDir();
Est ce que je ne devrais pas plutot en faire une variable de classe ?
Ou statique ?