当前位置: 首页 > 面试题库 >

如何在Java文件路径中使用通配符

孟俊发
2023-03-14
问题内容

我想知道是否以及如何在路径定义中使用通配符。我想更深入地查找一个文件夹并尝试使用*,但这不起作用。

我想访问随机文件夹中的文件。Folderstructure是这样的:

\test\orig\test_1\randomfoldername\test.zip
\test\orig\test_2\randomfoldername\test.zip
\test\orig\test_3\randomfoldername\test.zip

我试过的

File input = new File(origin + folderNames.get(i) + "/*/test.zip");

File input = new File(origin + folderNames.get(i) + "/.../test.zip");

先感谢您!


问题答案:

我认为不可能以这种方式使用通配符。我建议您对任务使用如下方式:

    File orig = new File("\test\orig");
    File[] directories = orig.listFiles(new FileFilter() {
      public boolean accept(File pathname) {
        return pathname.isDirectory();
      }
    });
    ArrayList<File> files = new ArrayList<File>();
    for (File directory : directories) {
        File file = new File(directory, "test.zip");
        if (file.exists())
            files.add(file);
    }
    System.out.println(files.toString());


 类似资料:
  • 问题内容: 我正在运行应该执行方法的Shell脚本: 在这一点上,我得到这个异常: 这是因为弹簧罐位于另一个文件夹中。所以我更改了脚本: 但是,使用此脚本无法找到com.example.ClassTest。关于这个问题有什么想法吗? 提前致谢 问题答案: Java类路径通配符扩展不常见。 从文档: 了解类路径通配符 类路径条目可以包含基本名称通配符,这被认为等效于指定目录中所有扩展名为.jar或.

  • 问题内容: 我已经使用了太多的第三方库(jar文件),所以我的CLASSPATH完全混乱了,因为我必须包括我使用的每个jar文件的路径。 我一直在想是否可以使用通配符()运算符(例如 .jar)将所有jar文件包含在文件夹中。但这似乎不起作用。还有其他方法可以缩短PC上当前看起来像文章;)的CLASSPATH吗? 问题答案: 类路径条目可以包含基本名称通配符,该通配符被认为等效于指定目录中所有扩展

  • 问题内容: 我已经为“ Debian Linux”创建了一个Java应用程序。现在,我希望该应用程序读取放置在指定该应用程序的jar文件的目录中的文件。那么在File Object的参数中要指定什么呢? 在上述声明中,作为参数指定相对文件路径的参数是什么,该相对文件路径表示放置应用程序的jar文件的路径? 问题答案: 如果您知道文件的名称,那么当然 如果您不知道名称,则可以使用File对象的lis

  • 问题内容: Logstash似乎不读取通配符的路径,这是我的配置文件 问题答案: 通过用反斜杠替换反斜杠,我能够解决此问题。

  • 我有一个side Gradle构建,在另一个旧Ant构建上运行一些测试。旧的ant构建中有大量库,我希望运行测试的Gradle构建在运行测试工具(在本例中为cucumber)时,在其类路径中包含这些库。然而,保持庞大的依赖项列表的同步似乎容易出错,而且将Ant构建转换为统一的Gradle构建目前还不太可能(正如我所希望的那样)。 所以,我想我可以简单地在JavaExec包装器的类路径中引用Ant构

  • 我只想从文件的完整路径中获取文件夹路径。 例如,我希望只得到(不包括)。 我曾经尝试过这样的事情: 但它给了我这样一个结果: 这不是我需要的结果(是)。 关于如何获取文件路径有什么想法吗?