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