【发布时间】:2013-08-02 09:26:58
【问题描述】:
情况:我有一个罐子,罐子里有一个文件。在这个文件中写入了一个对象,表示应用程序的最后状态(以便用户可以从他停止的地方继续)。我正在使用 java Serializable 接口来写入和读取对象。
我的问题是:从 jar 运行应用程序时如何读取文件。
到目前为止的代码:
in = new ObjectInputStream(Configuration.class.getResourceAsStream("config.txt"));
Object o = in.readObject();
if(o instanceof Configuration)
this.configuration = (Configuration) o;
只要我从 eclips 运行应用程序,它就可以完美运行。 当我运行 jar 时,会创建一个窗口,但没有显示任何内容。所以我假设发生了错误。有人知道如何读取文件吗?
【问题讨论】:
-
将需要更新的配置文件存储在 JAR 中是一个非常糟糕的主意。此外,在某些平台上写入 JAR 可能是不可能,因为它将在 JVM 运行时使用。最好使用外部配置文件。
-
假设您的文件已导出到 jar 中,
getResourceAsStream应该会找到它。尝试获取有关您的应用程序正在做什么的更多信息...错误/stacketrace 和 porst 在这里。而且对于写作,这已经在SO上回答过很多次了,这是不可能的。