我在目录/文件结构下面
ABC
-- Apps
-- Tests
-- file1.xml
-- file2.xml
-- AggTests
-- UnitTests
PQR
-- Apps
-- Tests
-- file3.xml
-- file4.xml
-- AggTests
-- UnitTests
在这里,我只想要目录中的文件列表Tests
。我如何在Java中实现它,我发现这对您有所帮助https://stackoverflow.com/a/24006711/1665592
下面的内容列出了所有XML文件,但我需要从称为Tests
?的特定目录中获取它。
try (Stream<Path> walk = Files.walk(Paths.get("C:\\projects"))) {
List<String> fileList = walk.map(x -> x.toString())
.filter(f -> f.endsWith(".xml")).collect(Collectors.toList());
fileList.forEach(System.out::println);
} catch (IOException e) {
e.printStackTrace();
}
最终,我需要 fileList = [file1.xml, file2.xml, file3.xml, file4.xml]
List<String> fileList = walk.filter(x -> x.getParent().endsWith("Tests")).map(x -> x.toString())
.filter(f -> f.endsWith(".xml")).collect(Collectors.toList());
如果只需要文件名而不需要整个路径,则可以执行以下操作:
List<String> fileList = walk.filter(x -> x.getParent().endsWith("Tests")).map(x -> x.getFileName().toString())
.filter(f -> f.endsWith(".xml")).collect(Collectors.toList());
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句