【发布时间】:2012-01-17 05:54:25
【问题描述】:
在我的一个 JUnit 测试中,我试图加载目录中包含的所有文件。我使用.getClassLoader().getResource("otherresources") 来查找目录。然后我创建了一个新的java.io.File。然后我使用listFiles() 获取所有子文件,然后再次使用.getClassLoader().getResource() 加载每个文件。
URL url = FileLoadTest.class.getClassLoader().getResource("otherresources");
File directory = new File(url.getPath());
File[] files = directory.listFiles();
基本上,我希望能够在不确切知道它们是什么的情况下加载目录中的所有文件。
我可以在 Eclipse 中正确运行测试。当我使用 Maven (mvn install) 构建项目或使用 surefire (mvn -Dtest=FileTest test) 自行运行测试用例时,测试用例以NullPointerException 失败。我认为这个问题与 File api 在资源部署到的 JAR 文件中没有按预期工作有关。
关于如何解决此问题的任何提示?
【问题讨论】:
标签: java resources path classloader getresource