Maison >Java >javaDidacticiel >Comment parcourir de manière récursive des fichiers et des sous-répertoires en Java ?
Comment parcourir les fichiers dans les répertoires et sous-répertoires à l'aide de Java
Pour obtenir une liste complète des fichiers, y compris ceux des sous-répertoires, Java fournit une solution simple. En tirant parti de la récursion, il est possible de naviguer efficacement dans le système de fichiers.
Approche récursive
Utilisez File#isDirectory() pour déterminer si un fichier représente un répertoire. Si c'est vrai, répétez le processus avec le résultat de File#listFiles(). C'est ce qu'on appelle la récursion.
Voici un exemple d'implémentation :
public static void showFiles(File[] files) { for (File file : files) { if (file.isDirectory()) { System.out.println("Directory: " + file.getAbsolutePath()); showFiles(file.listFiles()); // Recursive call } else { System.out.println("File: " + file.getAbsolutePath()); } } }
Fichiers de Java 8#walk
Pour Java 8 et supérieur, les fichiers #walk() offre une alternative pratique qui utilise la récursion de la queue :
Files.walk(dir).forEach(path -> showFile(path.toFile()));
Cela en toute sécurité gère les hiérarchies profondes, évitant les potentielles StackOverflowError dues à une récursivité excessive.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!