【发布时间】:2020-09-10 13:19:34
【问题描述】:
有一个目录结构,我需要从中列出所有文件夹,其中至少包含一个文件。所以当一个文件夹只包含子文件夹时,它不应该被列出。 我尝试为此使用以下代码,但输出中存在空文件夹。
Files.walk(Paths.get("C://testfolderstruct")).filter(Files::isDirectory).filter(Files::exists).forEach(System.out::println);
文件夹结构:
C:.
└───T1
├───T2
└───T3
test.txt
预期输出:
C:\_privat\teszt\T1\T3
【问题讨论】:
-
Files::exists真的在这里做你想做的事吗?我的意思是,由 Files.walk() 生成的流中的所有内容都存在,不是吗?在我看来,您需要像Files::directoryNotEmpty这样的谓词,但我认为没有。
标签: java nio directory-structure