java - 如何只列出指定目录中的文件夹?

标签 java

我正在尝试使用 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/

相关文章:

java - 从 AnnotationMirror 获取元素注释

java - 替换链表中的项目并排序

java - Android 中的膨胀布局

java - 数组的 equals 方法实现 - Java

java - 为什么向 gradle 任务添加类型会影响下面示例中的 println 语句?

java - 从 JToggleButton 检索信息时遇到问题?(匹配游戏)

java - 如何通过authorization_code的授予类型登录apple(Java)

java - 在数组中拆分 .txt 文件

java - opencsv 无法识别行中的所有列

java - android onTouchEvent "Click and Hold"