JAR - 将文件列入文件夹

时间:2013-10-24 08:21:19

标签: java jar directory-listing

我想获得一个包含在jar包中的目录中的文件列表。 我有一个“images”文件夹,其中有一个Images类,应该加载该目录中的所有图像。

过去我使用MyClass.class.getResourceAsStream("filename");来读取文件,但如何阅读目录?

这就是我的尝试:

System.out.println(Images.class.getResource("").getPath());
System.out.println(new File(Images.class.getResource("").getPath()).listFiles());

我尝试使用Images.class.getResource,因为我必须使用File并且没有接受InputStream的构造函数。

代码生成

file:/home/k55/Java/MyApp/dist/Package.jar!/MyApp/images/
null

所以它找到了我要列出文件的文件夹,但它无法列出文件。

我在其他论坛上看到,实际上你不能将此方法用于jar存档中的文件夹,那么我该如何实现呢?

更新:如果可能,我想阅读文件而不必使用ZipInputStream

1 个答案:

答案 0 :(得分:0)

你不能轻易做到这一点。

您需要做什么:

  1. 获取jar文件的路径。 Images.class.getResource( “该/存在/东西/”)。的getPath()
  2. 剥离“!/ something / that / exists”。
  3. 使用Zip File System浏览Jar文件。 这有点黑客攻击。