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

新手上路,请多包涵

如何通过Java读取文件夹中的所有文件?使用哪个 API 并不重要。

原文由 M.J. 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 547
2 个回答
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 模式。它确保在任何情况下都将关闭流。

原文由 rich 发布,翻译遵循 CC BY-SA 3.0 许可协议

File folder = new File("/Users/you/folder/");
File[] listOfFiles = folder.listFiles();

for (File file : listOfFiles) {
    if (file.isFile()) {
        System.out.println(file.getName());
    }
}

原文由 David Robles 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题