【问题标题】:How to include text files with Executable Jar如何使用可执行 Jar 包含文本文件
【发布时间】:2011-02-09 22:29:27
【问题描述】:

我有一个 Java 项目,我想在可执行 jar 中包含一个文本文件。现在文本文件在默认包中。

InputFlatFile currentFile = new InputFlatFile("src/theFile.txt");

我使用该行抓取文件,正如您使用 src 看到的那样。但是,这不适用于可执行 jar。

如何将这个文件与可执行的 jar 一起保存,以便使用该程序的人只需单击一个图标即可运行该程序?

【问题讨论】:

标签: java jar executable


【解决方案1】:

jar 文件中的基本目录位于类路径中。

试试 InputFlatFile currentFile = new InputFlatFile("theFile.txt");

您可能正在使用 IDE,其中有一个 src 文件夹,IDE 将其用作软件包的基础。当您从 IDE 创建 jar 文件时,它会删除 src 文件夹,并且根文件夹中包含包。

即在 eclipse src/com.blah.blah 中,一旦创建了 jar 文件,结构就会变成 com.blah.blah

当然,我假设 InputFlatFile 正在正确读取值。

http://www.devdaily.com/blog/post/java/read-text-file-from-jar-file

【讨论】:

  • 谢谢,那个链接帮我弄明白了!
  • 希望它对我有用。我在 jar 文件的“根”中有两个文件,在 securityProps.setProperty("javax.net.ssl.trustStore","CDAtruststore.jks"); 上出现错误。错误是“系统找不到指定的文件”但文件在 jar 的顶层。让我迷惑了好几个小时。
【解决方案2】:

您希望它在可执行的 jar 中吗? 然后读取你应该使用的文件

getClass().getResourceAsStream()

读取文件。

将文本文件保存在要从中访问它的包中。 类加载器会找到它。

还请记住,JAR 中的文件名区分大小写。

【讨论】:

    猜你喜欢
    • 2010-11-15
    • 2021-05-02
    • 2014-01-17
    • 1970-01-01
    • 2017-07-04
    • 2018-04-16
    • 2013-12-26
    • 2011-10-22
    • 2015-03-02
    相关资源
    最近更新 更多