您能否帮助我如何仅过滤以“ O_”开头的文件?对我来说StartsWith和EndsWith方法不起作用,结果始终是一个空列表。
Files.walk(Paths.get(SOURCEDIR)).filter(Files::isRegularFile).forEach(filePath -> {
if (true){
System.out.println(filePath.getFileName());
}
});
最佳答案
确实是个老问题,但是当我搜索一些目录读取方式时仍然可以找到它。
无论如何,assylias评论了第一个要添加的帖子:
filter(p -> p.getFileName().startsWith("O_"))
这不起作用,因为缺少.toString()函数。这样,您可以通过更有效的方式解决问题:
Files.walk(Paths.get(SOURCEDIR))
.filter(p -> p.getFileName().toString().startsWith("O_"))
.forEach(System.out::println);
哪一个使用Java 8语法并为您提供一条独立的线路来完成工作。