【问题标题】:Extract Files from Jar file in Java Applet从 Java Applet 中的 Jar 文件中提取文件
【发布时间】:2015-06-13 04:21:49
【问题描述】:

我有一个包含资源目录的java小程序(目录名称是:Resources)这个目录包含一些dll文件。 (这个目录/文件夹被打包在小程序的jar文件中)。

我正在尝试将此目录的内容提取到本地硬盘。 我正在使用

getClass().getClassLoader().getResourceAsStream("Resources/" + fileName);

获取文件并将其保存到另一个路径,以便我可以访问它。 此方法在将我的小程序部署/嵌入到 HTML 页面之前有效。

我有两个问题:

1-在web服务器上部署后,该方法返回null。

2- 部署我的小程序后如何枚举资源文件夹中的所有文件,以便我可以将这些文件保存到另一个路径。

对不起,如果我的问题很愚蠢、简单或不清楚,因为这是我的第一个 Java 小程序。

【问题讨论】:

  • 您不能在 Jar 中列出目录(从技术上讲,它没有任何目录)。我倾向于在构建过程中创建一个已知文件,其中包含目录中所有资源的列表。在运行时,我加载这个文件并使用它的内容来查找所有其他资源
  • 我想过这个解决方案,但我说一定有更好的解决方案
  • 好吧,除非你知道jar文件并且可以从你的程序中引用它,否则你不能列出资源

标签: java applet


【解决方案1】:

我建议你的第二个问题的替代方案。您可以在您的 java 代码中运行操作系统命令来执行这些操作。如果您在 linux 环境中提取整个文件夹并复制到其他地方,您可以运行

jar xf yourjarfile.jar Resources
cp -rf Resources toSomewhereElse/

在您的 java 代码中。您可以找到示例here 以了解如何在您的 Java 代码中运行操作系统命令。

【讨论】:

  • 谢谢你的回复,但是我是在windows上运行的,也不知道客户端机器上jar文件的路径是什么
猜你喜欢
  • 2012-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多