如何从jar获取资源(文件夹)?

时间:2014-11-14 15:35:17

标签: java jar resources directory

基本上我要做的是解析一个目录的所有文件,并将所有的childen添加到List<文件> 。 问题是我没有主要功能,我只是运行一个罐子。所以我不能这样做:

URL url = MyClass.class.getResource("resources/");
if (url == null) {
     // error - missing folder
} else {
    File dir = new File(url.toURI()); //throws error when running the jar
    for (File nextFile : dir.listFiles()) {
        // Do something with nextFile
    }
}

因为它抛出了IllegalArgument异常。我也试过用一个InputStream:

InputStream inStream = CompilerUtils.class.getClassLoader().getResourceAsStream(filePath)

但它似乎不适用于文件。我正在寻找适合目录的替代方案。

1 个答案:

答案 0 :(得分:0)

获取网址url.getFile()的字符串表示形式file:/C:/xxx/yyy/x.jar!/resources从中提取路径:C:/xxx/yyy/x.jar.使用Jar File类读取文件夹