我具有用于集成测试的文件夹结构,看起来像这样(典型的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)。
出什么问题了?