Java 8:从文件夹/子文件夹中获取文件

前端之家收集整理的这篇文章主要介绍了Java 8:从文件夹/子文件夹中获取文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Recursively list all files within a directory using nio.file.DirectoryStream;8个
我在SpringBoot应用程序的resources文件夹中有这个文件夹.
resources/files/a.txt
resources/files/b/b1.txt
resources/files/b/b2.txt
resources/files/c/c1.txt
resources/files/c/c2.txt

我想得到所有的txt文件,所以这是我的代码

ClassLoader classLoader = this.getClass().getClassLoader();
   Path configFilePath = Paths.get(classLoader.getResource("files").toURI());   

   List<Path> atrackFileNames = Files.list(configFilePath)
                .filter(s -> s.toString().endsWith(".txt"))
                .map(Path::getFileName)
                .sorted()
                .collect(toList());

但我只得到文件a.txt

解决方法

Files.walk(configFilePath)
     .filter(s -> s.toString().endsWith(".txt"))
     .map(Path::getFileName)
     .sorted()
     .collect(toList());

猜你在找的Java相关文章