【问题标题】:JAR - Listing files into a folderJAR - 将文件列出到文件夹中
【发布时间】:2013-10-24 16:51:44
【问题描述】:

我想获取一个包含在 jar 包中的目录中的文件列表。 我有一个“图像”文件夹,其中有一个 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

【问题讨论】:

标签: java jar directory-listing


【解决方案1】:

你不能轻易做到这一点。

你需要做什么:

  1. 获取jar文件的路径。 Images.class.getResource("/something/that/exists").getPath()
  2. 剥离“!/something/that/exists”。
  3. 使用Zip File System 浏览Jar 文件。 这有点骇人听闻。

【讨论】:

  • 不幸的是,Images.class.getResource("/").getPath() 触发了 NullPointerException
  • @BackSlash 不,没有。 ZipFileSystem 或带有手动过滤条目的“ZipInputStream”。
猜你喜欢
  • 1970-01-01
  • 2013-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-18
  • 2016-06-06
  • 1970-01-01
相关资源
最近更新 更多