首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java和PathMatcher

Java和PathMatcher
EN

Stack Overflow用户
提问于 2016-10-31 23:02:47
回答 1查看 10.2K关注 0票数 1

我正在用Java编写一个应用程序,该应用程序显示文件名中的第一个单词与用户定义的字符串匹配的文件列表,然后根据某些首选项删除或重新排列它们。我目前正处于寻找找到我的文件的好方法的阶段。使用本Java教程,我最终得到了这样的结果:

代码语言:javascript
复制
Path source = Paths.get(sourceText.getText());
Path dest = Paths.get(destText.getText());

System.out.println("Source:" + source.toString());
System.out.println("P/N: " + partNoText.getText());

String matchString = "glob:**" + partNoText.getText() + "*";

System.out.println("Matching: " + matchString);

fileFinder = new FileFinder(matchString);

try {
    Files.walkFileTree(source, fileFinder);
} catch (IOException e1) {
    e1.printStackTrace();
}
for (Path path : fileFinder.getResult()) {
    System.out.println("Moving: " + path.getFileName());
    Path target = Paths.get(dest.toString() + "\\" + path.getFileName());

    try {
        Files.move(path, target, REPLACE_EXISTING);
    } catch (IOException e1) {
        e1.printStackTrace();
    }
}

其中,FileFinder扩展了SimpleFileVisitor并具有以下visitFile方法:

代码语言:javascript
复制
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
    System.out.println(file.toString());
    System.out.println(fileMatcher.matches(file));
    if (fileMatcher.matches(file)) {
        result.add(file);
        return FileVisitResult.CONTINUE;
    }
    return FileVisitResult.CONTINUE;
}

我的问题是,在任何文件名包含部件no的情况下,glob都会获取文件。以任何方式。因此,如果我的文件名为"12345 RevA真大第2部分:电动Bugaloo“,那么如果用户输入"1”或"123“或"Bugaloo”,则字符串将匹配。理想情况下,只有当用户输入"12345“时,它才会匹配。

我尝试将我的matchString切换到"regex: .*" + partNoText + "\\b",它在我从另一个Java教程修改的regex测试工具中工作。我做错了什么?PathMatcher的工作方式与普通的Matcher不同吗?

任何包含“文本”字的变量,比如sourceTextpartNoText,都是JTextFields。这是代码中唯一不清楚我从中删掉了什么的部分。

EN

回答 1

Stack Overflow用户

发布于 2017-10-26 08:49:35

我觉得你走的路很复杂。当你不去寻找事件的时候,你为什么一开始就用帕特·马克。

遍历文件树和每个目录迭代目录流以匹配您的glob要容易得多。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40351842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档