如何对以前的目录执行全局搜索

How to perform a glob search on a previous directory

我正在尝试编写一个 java 程序,它将采用文件的确切路径或名称,或者采用某种形式的模式,如 glob。程序的内部结构将只针对文件路径说明符找到的每个文件重复。

这是我希望能够输入的一些路径的示例:

example.txt

在本地目录中处理 'example.txt'。

*.txt

处理本地目录的所有文本文件。

../*

处理上一个目录中的所有文本文件。

这是我遇到很多麻烦的最后一个。我可以通过使用 PathMatcher 使前两个工作,但我无法在不扫描程序所在的整个驱动器的情况下模拟 ../。[=​​31=] in.

我在使模式匹配工作时遇到了很多麻烦。我只是希望它以与 grep 类似的方式工作,我可以在其中使用它来指定确切的文件或文件模式。

有这方面的例子吗?

当然,我会加分 :D 另外,有人可能会 Google 这个并且使用 "accepted" 答案会更容易。

shell 会为您完成此操作,并且很可能比您尝试手动执行的操作更不容易出错。

private static void main(String[] files) {
    for (String file : files) {
        process(file);
    }
}

这适用于我所知道的几乎所有 globbing 系统。