Java を使用してフォルダー内のすべてのファイルを読み取るにはどうすればよいですか? どの API を使用してもかまいません。
ベストアンサー1
使用:
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);
のファイル.walkAPIはJava 8から利用可能です。
try (Stream<Path> paths = Files.walk(Paths.get("/home/you/Desktop"))) {
paths
.filter(Files::isRegularFile)
.forEach(System.out::println);
}
この例では、リソースを試すAPI ガイドで推奨されているパターン。これにより、どのような状況でもストリームが閉じられることが保証されます。