我正在尝试使用 Files.list() api 仅列出文件夹,为了做到这一点,我需要添加到代码中缺少哪些行?
我尝试过files.walk方法,但没有成功。我宁愿坚持使用 Files.list()
String dirName = ".";
try {
Files.list(Paths.get(dirName)).forEach(System.out:: println);
} catch (IOException ex) {
Logger.getLogger(ActiveDirectory.class.getName()).log(Level.SEVERE, null, ex);
}
I wanted the output to be only folders, but the output is everything including folders
.\build
.\build.xml
.\manifest.mf
.\nbproject
.\src
.\test
最佳答案
我只是发布此内容,因为我看到该问题下将出现一长串评论。
您可以使用Files::isDirectory
过滤目录:
Files.list(Paths.get(dirName))
.filter( Files::isDirectory )
.forEach(System.out::println);
或者使用接受 boolean 过滤器的File#listFiles
:
File[] directories = new File(dirName).listFiles( f -> f.isDirectory() );
Arrays.stream( directories ).forEach( System.out::println );
但是您应该采纳 MadProgrammer 的建议,从其他解决方案中选出您的解决方案。对于某人来说,发布您想要的可以开箱即用的解决方案并不总是那么容易。
关于java - 如何只列出指定目录中的文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57284303/