如何在java中获取jar文件目录中的文件?

时间:2015-05-12 12:27:31

标签: java maven resources directory classpath

假设我在项目public class test { public void myMethod() { String directoryPath = classLoader.getResource("") + "/templates/code/"; // code to read directory files } } 中有此代码:

resources/templates

第一个问题

并在此项目的resources/templates目录中包含一些特定文件。并希望获取B目录中的所有文件。

我将该项目添加为另一个名为myMethod的项目的依赖项,并希望调用myMethod

现在,A在调用项目B时工作正常,但当我在FileNotFoundException项目中调用它时,它会抛出myMethod

我正在调用项目B中的public class myClass { public static void main(String[] args) { myMethod(); } } ,如下所示:

B

注意

1-这两个项目都是Spring,Maven项目

2-当我构建项目A时,项目WEB-INF/lib的jar文件位于B的{​​{1}}目录中。

1 个答案:

答案 0 :(得分:0)

首先,您可以使用getResource处理文件,如下所示:

    URL directoryPath = classLoader.getResource("resources/templates");
    File f = new File(directoryPath.getFile());

但是,一旦您的应用程序部署为jar,您就无法再使用“File”访问资源了。您需要阅读jar文件的内容。

以下是一个帮助您的链接:How do I list the files inside a JAR file?