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

Signaler
-
Messages postés
16066
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 octobre 2020
-
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

Messages postés
16066
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 octobre 2020
100
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());
}