我有一个文件列表在类路径上的目录中,我需要读取它们,而且更喜欢使用File API,但是看起来我无法在档案内这样做。在我的本地环境单元测试中,这可以正常工作,但当我将其部署为WAR包放在EAR包中时,文件列表返回null:
File dir = new File(getClass().getClassLoader().getResource("mydir").getPath());
File[] files = dir.listFiles();
我有一个文件列表在类路径上的目录中,我需要读取它们,而且更喜欢使用File API,但是看起来我无法在档案内这样做。在我的本地环境单元测试中,这可以正常工作,但当我将其部署为WAR包放在EAR包中时,文件列表返回null:
File dir = new File(getClass().getClassLoader().getResource("mydir").getPath());
File[] files = dir.listFiles();
for (String s : context.getResourcePaths("foo")) {
InputStream contents = context.getResourceAsStream(s);
//do something with the contents
}
Path jarPath = Paths.get(...);
try (FileSystem jarFS = FileSystems.newFileSystem(jarPath, null)) {
Path dirJarPath = jarFS.getPath("/foo/mydir");
<use a FileVisitor and Files.walkFileTree>
}
http://docs.oracle.com/javase/7/docs/api/java/nio/file/FileVisitor.html