Java 如何在可执行JAR中添加PDF文件作为资源

Java 如何在可执行JAR中添加PDF文件作为资源,java,eclipse,pdf,jar,Java,Eclipse,Pdf,Jar,在这里和谷歌搜索了很多天后,经过多次尝试,我终于决定开设一个帐户寻求帮助 工作区环境: 最新Java版本、Windows 8.1、Eclipse Luna 我想发生的事: 从一个可执行的jar中下载我的应用程序,单击一个特定的按钮并打开一个PDF文件 到目前为止,我都能做到,而且效果很好,除了 实际发生的情况: 我的PDF文件夹为20MB,jar文件为11KB,当我将jar文件复制到桌面时,点击jar文件并单击按钮,没有打开PDF文件 我的问题是: 如何将文件集成到jar中 我有资源的res文件

在这里和谷歌搜索了很多天后,经过多次尝试,我终于决定开设一个帐户寻求帮助

工作区环境: 最新Java版本、Windows 8.1、Eclipse Luna

我想发生的事: 从一个可执行的jar中下载我的应用程序,单击一个特定的按钮并打开一个PDF文件

到目前为止,我都能做到,而且效果很好,除了

实际发生的情况: 我的PDF文件夹为20MB,jar文件为11KB,当我将jar文件复制到桌面时,点击jar文件并单击按钮,没有打开PDF文件

我的问题是:

如何将文件集成到jar中


我有资源的res文件夹,我听说过InputStream、FileReader、BufferReader,但我不知道如何在代码中实现它们(我已经尝试了很多次)。 目前,我正在使用

Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + filePath);
为了现在就打开文件,但这不是一个永久的解决方案,因为没有集成和可移植性

请,这是我申请的最后一步。
我不能休息,直到它完成

试试命令行,比如:

Jar uf [your jar] res/afile.pdf

我已经意识到,为了实现可移植性,我所需要做的就是将jar文件和资源文件捆绑在同一个文件夹中,就是这样。 事实上,可以访问资源文件远比将其放在jar中要好(现在将jar保持在13kb),因此,允许我根据自己的意愿编辑资源文件夹要灵活得多

感谢你们所有的患者和愿意帮助的人


现在可以结束此问题。

对不起,此问题不起作用。另外,文件需要集成到jar中,整个问题是,它们不是。我有一个完整的类来找出所需pdf文件的路径(因为在许多文件夹中有许多文件),你想集成吗?然后在eclipse中为您的项目创建一个文件夹,例如res,并在代码中获取资产。在eclipse中进行测试。然后,当它工作时,导出到您的jar,并消除复杂的文件夹结构。如果你集成,folderstructure是不相关的,不必要的复杂化。我有资源的res文件夹,所有的资产都在那里,当我在eclipse中运行它时,一切都正常,我甚至可以导出它,jar正常工作,当我将jar文件移到桌面时,问题就开始了,另一台计算机等。我缺少将文件读入jar的那行代码,就像可以用图片完成一样。我简直搞不懂。一个资源文件夹包含3个文件夹,一个答案文件夹,一个常见问题文件夹和问题文件夹。每个文件都包含大量的pdf文件,格式为q.pdf和a.pdf。常见问题解答包含一个名为FAQ.pdf的pdf文件。资产获取代码为Runtime.getRuntime().exec(“rundll32 url.dll,FileProtocolHandler”+filePath);有两个类,每个类处理右侧的路径。这基本上是一个带有答案的测试模拟器。您需要一个PDF查看器,它支持打包到jar文件中的PDF。很可能系统默认的查看器不会。正如我所说,导出的jar可以工作,但当我将其移动到其他位置(例如桌面)时,它将不会显示pdf文件。现在可以关闭此问题-您可以通过接受答案(例如您的答案)来关闭它。人们可能要等上几个小时才能接受自己的答案。