Warm tip: This article is reproduced from serverfault.com, please click

其他-如何从Java读取文件夹中的所有文件?

(其他 - How to read all files in a folder from Java?)

发布于 2009-12-04 03:39:37

如何通过Java读取文件夹中的所有文件?

Questioner
M.J.
Viewed
11
rich 2017-05-23 03:54:54
public void listFilesForFolder(final File folder) {
    for (final File fileEntry : folder.listFiles()) {
        if (fileEntry.isDirectory()) {
            listFilesForFolder(fileEntry);
        } else {
            System.out.println(fileEntry.getName());
        }
    }
}

final File folder = new File("/home/you/Desktop");
listFilesForFolder(folder);

可从Java 8获得Files.walk API。

try (Stream<Path> paths = Files.walk(Paths.get("/home/you/Desktop"))) {
    paths
        .filter(Files::isRegularFile)
        .forEach(System.out::println);
} 

该示例使用API指南中推荐的try-with-resources模式。它确保在任何情况下都将关闭流。