1

情况:我有一个 jar,这个 jar 里面是一个文件。在这个文件中是一个对象,它表示应用程序的最后状态(以便用户可以在他停止的地方继续)。我正在使用 javaSerializable接口来编写和读取对象。

我的问题是:从 jar 运行应用程序时如何读取文件。

到目前为止的代码:

in = new ObjectInputStream(Configuration.class.getResourceAsStream("config.txt"));

Object o = in.readObject();
if(o instanceof Configuration)
    this.configuration = (Configuration) o;

只要我从 eclips 运行应用程序,这就很完美了。当我运行 jar 时,会创建一个窗口,但没有显示任何内容。所以我假设发生了错误。有人知道如何读取文件吗?

4

2 回答 2

2

对于您想要实现的目标, Preferences API可能是一个更好的选择。

于 2013-08-01T13:15:30.110 回答
0

打包时 JAR 文件中是否包含“config.txt”?

我同意@nneonneo 的观点,即 JAR 文件不是存储配置数据(或任何其他类型的可变数据)的最佳位置。更好的选择可能是将配置数据存储在 JAR 文件之外的“.properties”或 XML 文件中。

于 2013-08-01T13:10:49.273 回答