打开名称最相似的文件

时间:2018-07-11 09:24:19

标签: java regex file fileinputstream

我有一个包含文件的目录。
我有一个使用String fileName的函数。我希望能够打开该文件,如果不存在,则打开具有最相似名称的文件。
例如
如果传递的文件名是file_name_v1.txt,那么如果不存在,请打开file_name_v2.txt
这些仅仅是示例。我真的不知道_v之后的实际数字,所以我不知道如何为这种情况的文件创建正则表达式

1 个答案:

答案 0 :(得分:0)

已在此处回答:How to find files that match a wildcard string in Java?

请注意,上述解决方案需要Java 7 NIO。

PathMatcher pathMatcher = FileSystems.getDefault()
    .getPathMatcher("regex:Test.[\\/]sample\\w+\\.txt");
try (DirectoryStream<Path> dirStream = Files.newDirectoryStream(
        new File("..").toPath(), pathMatcher::matches)) {
    dirStream.forEach(path -> System.out.println(path));
}