bonjour,
je viens vers vous car j'ai besoin de votre aide.
j'ai un répertoire dans lequel j'ai plusieurs dossiers, dans chaque dossier j'ai plusieurs fichiers.
j’aimerai lire 1 par 1 chaque fichier de chaque dossier.
voilà mes 2 fonctions :
Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 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); } }
Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 public void lireTout() throws IOException { ArrayList<String> allFiles = new ArrayList<String>(); listeRepertoire(new File("C:\\Users\\moi\\Desktop\\bilans batch satelit 2016"), allFiles); File f; FileReader fr; BufferedReader br; for (String file : allFiles) { f = new File (file); fr = new FileReader(f); br = new BufferedReader(fr); System.out.println(f.getAbsolutePath()); String ligne = br.readLine(); while (ligne != null) { System.out.println(ligne); } ligne = br.readLine(); br.close(); fr.close(); } }
le problème c'est que la fonction lireTout m'affiche la 1ère ligne du premier fichier en boucle à l'infini.
voilà le repertoire où il y a les dossiers contenant les fichiers :
est-ce que vous pouvez m'aider svp![]()
Partager