使用通配符搜索目录中的文件



我需要检查某些文件是否存在于使用 Java 的目录中,但文件名具有模式。例如,文件名recap_data_03082017.txt,末尾的数字总是在变化。有没有办法使用 recap_data_* 这样的通配符执行搜索.csv

如果您使用的是 Java 8,则可以尝试以下操作:

try (Stream<Path> paths = Files.walk(Paths.get("/your/path/"), 1)) {
return paths
.filter(Files::isRegularFile)
.anyMatch(f -> {
final String fileName = f.getFileName().toString();
return fileName.startsWith("ecap_data_") && fileName.endsWith(".csv");
});
} catch (IOException e) {
e.printStackTrace();
}

最新更新