Salut,
je vais probablement me faire huer mais tant pis
J'adore,
,
Ta liste doit être passée en paramètre.
Exact.
A cause de la récursivité, tu n'as pas le choix.
Ensuite ton code fait quasiment tout 
Il faut juste gérer le cas ou le chemin n'est pas un répertoire et dans ce cas l'ajouter à la liste.
J'ai changé le nom du paramètre (path au lieu de répertoire puisque ca prend soit des fichiers soit des repertoires)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| public static void main(String[] args) {
ArrayList<String> allFiles = new ArrayList<String>();
listeRepertoire(new File("CheminVersLeDossierAAnalyser"), allFiles);
}
public static void listeRepertoire(File path, List<String> allFiles) {
if (path.isDirectory()) {
File[] list = path.listFiles();
if (list != null) {
for (int i = 0; i < list.length; i++) {
// Appel récursif sur les sous-répertoires
listeRepertoire(list[i], allFiles);
}
} else {
System.err.println(path + " : Erreur de lecture.");
}
} else {
String currentFilePath = path.getAbsolutePath();
System.out.println(currentFilePath);
allFiles.add(currentFilePath);
}
} |
Partager