仅使用 Java 8 流列出具有一定深度的文件夹
考虑到Java 8中有“新”流API,我可以用来迭代文件夹。如果使用此方法或深度= 2,我如何才能仅获取给定目录的子文件夹?Files.walk
我目前有这个工作示例,遗憾的是,它还将根路径打印为所有“子文件夹”。
Files.walk(Paths.get("/path/to/stuff/"))
.forEach(f -> {
if (Files.isDirectory(f)) {
System.out.println(f.getName());
}
});
因此,我又回到了以下做法。它将文件夹存储在内存中,之后需要处理存储的列表,我会避免使用lambdas。
File[] directories = new File("/your/path/").listFiles(File::isDirectory);