Maison  >  Article  >  Java  >  Java comment parcourir un dossier et obtenir tous les noms de fichiers

Java comment parcourir un dossier et obtenir tous les noms de fichiers

PHPz
PHPzoriginal
2024-03-29 13:24:021014parcourir

Java comment parcourir un dossier et obtenir tous les noms de fichiers

Java est un langage de programmation populaire doté de puissantes capacités de traitement de fichiers. En Java, parcourir un dossier et obtenir tous les noms de fichiers est une opération courante, qui peut nous aider à localiser et traiter rapidement les fichiers dans un répertoire spécifique. Cet article explique comment implémenter une méthode permettant de parcourir un dossier et d'obtenir tous les noms de fichiers en Java, et fournit des exemples de code spécifiques.

1. Utilisez la méthode récursive pour parcourir le dossier

Nous pouvons utiliser la méthode récursive pour parcourir le dossier. La méthode récursive est un moyen de s'appeler elle-même, qui peut parcourir efficacement tous les fichiers et sous-dossiers du dossier. Voici un exemple de méthode récursive simple :

import java.io.File;

public class FileTraversal {
    
    public static void main(String[] args) {
        File folder = new File("路径"); // 需要遍历的文件夹路径
        
        traverseFiles(folder);
    }
    
    public static void traverseFiles(File folder) {
        if (folder.isDirectory()) {
            File[] files = folder.listFiles();
            if (files != null) {
                for (File file : files) {
                    if (file.isDirectory()) {
                        traverseFiles(file); // 递归遍历子文件夹
                    } else {
                        System.out.println(file.getName()); // 输出文件名
                    }
                }
            }
        }
    }
}

2. Parcourez les dossiers à l'aide de l'API Stream de Java 8

Java 8 introduit l'API Stream, qui simplifie le traitement des collections et des tableaux. Nous pouvons combiner la méthode Files.walk() et l'API Stream pour parcourir le dossier et obtenir tous les noms de fichiers. Voici un exemple utilisant l'API Stream :

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Stream;

public class FileTraversal {
    
    public static void main(String[] args) throws IOException {
        Path folder = Paths.get("路径"); // 需要遍历的文件夹路径
        
        try (Stream<Path> paths = Files.walk(folder)) {
            paths
                .filter(Files::isRegularFile) // 过滤只获取文件
                .forEach(path -> System.out.println(path.getFileName())); // 输出文件名
        }
    }
}

3. Parcourez le dossier à l'aide de la méthode Files.walkFileTree() de Java 7

Si vous utilisez Java 7, vous pouvez utiliser la méthode Files.walkFileTree() pour parcourir le dossier . Cette méthode doit implémenter l'interface FileVisitor et remplacer la méthode visitFile() pour obtenir des informations sur le fichier. Voici un exemple d'utilisation de la méthode Files.walkFileTree() :

import java.io.IOException;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;

public class FileTraversal {
    
    public static void main(String[] args) throws IOException {
        Path folder = Paths.get("路径"); // 需要遍历的文件夹路径
        
        Files.walkFileTree(folder, new SimpleFileVisitor<Path>() {
            @Override
            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
                System.out.println(file.getFileName()); // 输出文件名
                return FileVisitResult.CONTINUE;
            }
        });
    }
}

Conclusion

Grâce aux trois méthodes ci-dessus, nous pouvons implémenter la fonction de parcours des dossiers et d'obtention de tous les noms de fichiers en Java. Cette opération peut être facilement réalisée que ce soit en utilisant la méthode récursive, l'API Stream ou la méthode Files.walkFileTree(). En fonction des besoins réels et des versions de Java, choisissez différentes méthodes pour parcourir les dossiers. J'espère que cet article pourra vous être utile. Pour plus de connaissances sur la programmation Java, veuillez suivre notre blog.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn