我正在尝试使用 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);
或者使用File#listFiles
which 接受布尔过滤器:
File[] directories = new File(dirName).listFiles( f -> f.isDirectory() );
Arrays.stream( directories ).forEach( System.out::println );
但是您应该采纳 MadProgrammer 的建议,将您的解决方案从其他解决方案中提取出来。有人发布您可以开箱即用的所需解决方案并不总是那么容易。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句