【问题标题】:Doing the equivalent of find . -name 'myfile*.csv' using windows and Java做相当于 find 。 -name 'myfile*.csv' 使用 Windows 和 Java
【发布时间】:2015-11-14 11:34:38
【问题描述】:

我正在使用 Selenium 和 Chrome。我访问的一个页面会自动下载文件,但我无法确定它正在下载到哪个目录。通常它是 c:\users\\Downloads\ 但我不能确定它在哪里。名称将是 MyFiles_*.csv(这是 Windows 表示法。正则表达式将是 MyFiles_[0-9]+.csv 或类似名称。

所以我想在 unix find C: -name 'MyFiles_.*.csv' 中执行一些操作来查找该文件所在的目录。我找到了下面的代码示例,但它似乎只在当前目录中查找而不是子目录:

File f = new File("C:\\");
    File[] matchingFiles = f.listFiles(new FilenameFilter() {
        @Override
        public boolean accept(File dir, String name) {
            return name.startsWith("MyFiles") && name.endsWith(".csv");
        }
    });

    for (File f1 : matchingFiles) {
        System.out.println(f1);
    }
}

有没有办法检查所有子目录(并返回全名和完整路径)?

另外一个问题。有时,当我在 Windows 中搜索文件时,它会在一个目录中找到它,但也会在一个名为“Recent Files”之类的目录中找到它。我猜如果算法返回 > 1 个目录,我可以消除其中包含“最近”的任何目录。

提前感谢您的帮助。

【问题讨论】:

  • 你可以“简单地”使用递归。或者从 Java 7 开始,FileVisitor API。

标签: java regex selenium windows-7


【解决方案1】:

Mena提出的解决方案:

您可以“简单地”使用递归。或者从 Java 7 开始,FileVisitor API。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 2019-07-04
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多