【问题标题】:Find text files in Jar在 Jar 中查找文本文件
【发布时间】:2010-11-30 05:50:40
【问题描述】:

我有一个必须从文本文件中读取的应用程序(使用 FileInputStream)。文本文件位于相对于类文件的目录结构中(例如“../textdir/text.txt”)。当我正常运行它时(即在cp中指定包含.class文件的/bin文件夹)一切正常。但是,我不知何故需要将所有东西打包到一个 jar 中,而当我运行 jar 时,没有任何效果。错误类似于“FileNotFOund: MyJar.jar!/textdir/text.txt”。我在 jarfile 上运行了 jar -tvf,文本文件确实在里面。我对源代码有读但没有写权限。

除了试图解决我的问题(我认为有很多解决方法)之外,有人可以向我解释一下整个事情是如何工作的吗? jar 是如何搜索文件的?如果我想从命令提示符的当前工作目录而不是 jar 文件中的 .class 目录读取怎么办?另外,我最近在将非 jar 项目转换为 jar 时遇到了类似的加载资源问题,这是如何工作的?

【问题讨论】:

标签: java jar resources


【解决方案1】:

不要以FileInputStream 的形式打开文件,而是使用getResourceAsStream,这将适用于您的两种情况,即。在 jar 文件中或解压缩。

【讨论】:

  • 感谢您的建议,但我无法更改代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-30
  • 2015-11-14
  • 2020-02-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-06
相关资源
最近更新 更多