Recupere les fichiers texte d'un dossier et des sous dossier

elkader - Modifié le 9 mars 2020 à 21:53
KX Messages postés 16703 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 1 juin 2023 - 10 mars 2020 à 12:21
Bonjour ;
voila j'ai ce code qui recupere les fichiers texte d'un dossier , ce que je veut c'est la recuperation des fichiers text des sous dossier de meme dossier
example :

dossier
fichier1.txt
fichier2.txt
sous_dossier
fichier3.txt
fichier4.txt

.........
mon code qui je le recupere dejat de ce forume :

private static void findFiles(File file, Collection<File> all, final String extension) {
        //Liste des fichiers correspondant a l'extension souhaitee
        final File[] children = file.listFiles(new FileFilter() {
            public boolean accept(File f) {
                    //return f.getName().endsWith(extension) ;
                    return f.getName().endsWith(extension) ;
                }}
        );
        if (children != null) {
            //Pour chaque fichier recupere, on appelle a nouveau la methode
            for (File child : children) {
                System.out.println("Child "+child);
                all.add(child);
                findFiles(child, all, extension);
            }
        }
    }

1 réponse

KX Messages postés 16703 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 1 juin 2023 126
10 mars 2020 à 12:21
Bonjour,

Les méthode walk de java.nio.Files font déjà ce travail.
Voir la JavaDoc : https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html

Exemple :
public static Set<File> findFiles(final File directory, final String extension) throws IOException {
    return Files.walk(directory.toPath())
                    .map(Path::toFile)
                    .filter(file -> file.getName().endsWith(extension))
                    .collect(Collectors.toSet());
}
0