列出集成测试资源中的目录

时间:2019-03-27 19:12:12

标签: java

我具有用于集成测试的文件夹结构,看起来像这样(典型的gradle结构)

testInteg/
    resources/
        json/
            case1/
                ... files
            case2/

我想读取json文件夹并列出目录(通过掩码case*),然后分别进行处理。

我正在尝试这样做(使用commons-io库)

ClassLoader classLoader = getClass().getClassLoader();
File dir = new File(classLoader.getResource("json").getFile());

FileFilter caseFilter = new WildcardFileFilter("case*");
File[] files = dir.listFiles(caseFilter); // null

但是listFiles返回null。

我试图只列出这样的目录

String[] directories = dir.list((dir1, name) -> new File(dir1, name).isDirectory()); // null

它仍然返回null。但是如果我像这样直接访问文件

new File(classLoader.getResource("json/case1/file.json").getFile())

它返回文件就好了(不确定内容,但至少它不是null)。

出什么问题了?

0 个答案:

没有答案