java - Maven:迭代 Maven 资源目录中的文件目录

标签 java maven

我的 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();
} 

已测试;格罗维:

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/

相关文章:

java - android lollipop 上 sslsocket 中的 OutputStream 问题

java - 使用 CriteriaBuilder 获取数据时出现问题

java - 从JS到Java?

git - Maven 发布/Github OAuth token /Jenkins : could not read Username for 'https://github.com' : No such device or address

java - GoogleAppEngine 上的 JDO : How to count and group with BigTable

java - 使用谢尔宾斯基方法打印三角形时如何固定三角形位置

java - 无法解析类 org.jblas.DoubleMatrix

java - 自动包含另一个maven项目的子模块

java - 使用 jdk.internal.net.http

mysql - Flyway:init 不创建模式数据库