【问题标题】:file not found exception loading properties file in izpack在 izpack 中找不到文件异常加载属性文件
【发布时间】:2015-07-31 04:00:11
【问题描述】:

我正在尝试使用 IZpack 4.3.5 通过我的自定义面板加载属性文件。 我已将所有与我的安装程序相关的属性和图像放在 izpack 的 bin 文件夹中并创建了 install.jar。当我尝试运行它时,它工作正常。

但是当我在其他一些文件夹/机器中运行相同的 jar 时,我在 custompanel.java 类中发现 .properties 文件的文件未找到异常。 你能告诉我如何使用我的自定义面板提供相对路径/路径来加载属性文件吗?

我在 install.xml 中添加了以下内容

<resources>
<res id='template.properties" src="template.properties>
<resources>

<panel classname="custompanel"/>

<packs>
<pack name="Base" required="yes">
<file src="template.properties" targetDir="$INSTALL_PATH"/>
<parseble targetfile="template.properties" type="prop" parse="yes"/>
<pack>
</packs>

在我的自定义类中

inputstream in=new FileinputStream("template.properties"); -------------------------------------------这里出现异常(找不到文件template.properties)

您能否告诉我如何在 IZpack 4.3.5 中解决这个问题,或者如何提供/获取 template.properties 文件的相对路径?

【问题讨论】:

    标签: java izpack


    【解决方案1】:

    创建 install.jar 后,该文件在文件系统中不可用。它是罐子的一部分。使用getClass().getResourceAsStream("template.properties") 访问该文件。

    【讨论】:

    • 您好,我做了您提到的更改,我在行遇到空指针异常..您能告诉我如何解决这个问题。
    • 使用 jar tvf installer.jar 并找到 template.properties 文件的路径。在对getResourceAsStream 的调用中使用该路径。
    • 非常感谢......你拯救了我的一天。你能告诉我如何获取与输出流相同的文件来更新属性吗?
    • 您无法获取输出流,因为这需要更新 JAR。在这些情况下,我们通常所做的是将自定义属性写入已知位置(可能是用户主文件夹)的文件中,加载逻辑首先加载内部文件,然后加载自定义文件。如果这解决了您的问题,请接受答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多