我的Maven资源文件夹中有一组文件:
+ src
+ main
+ resources
+ mydir
+ myfile1.txt
+ myfile2.txt
我如何迭代mydir?不仅在Eclipse中,而且从命令行和从属jar运行JUnit测试时。
File mydir = new File("mydir");
for (File f : dir.listFiles()) {
dosomething...
}
谢谢提示!
最佳答案
果壳大致:
URL pathUrl = clazz.getClassLoader().getResource("mydir/");
if ((pathURL != null) && pathUrl.getProtocol().equals("file")) {
return new File(pathUrl.toURI()).list();
}
经过测试; Groovy:
def resourcesInDir(String dir) {
def ret = []
pathUrl = this.class.getClassLoader().getResource(dir)
if ((pathUrl != null) && pathUrl.getProtocol().equals("file")) {
new File(pathUrl.toURI()).list().each {
ret << "${dir}/${it}"
}
}
ret
}
files = resourcesInDir("tmp/")
files.each {
s = this.class.getResourceAsStream(it)
println s.text
}
关于java - Maven:迭代Maven资源目录中的文件目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8995170/