情况:我有一个jar,在这个jar里面是一个文件。在此文件中是一个写入的对象,它表示应用程序的最后一个状态(以便用户可以在他停止的位置拾取)。我在orde中使用java Serializable
接口来编写和读取Object。
我的问题是:从jar运行应用程序时如何读取文件。
到目前为止代码:
in = new ObjectInputStream(Configuration.class.getResourceAsStream("config.txt"));
Object o = in.readObject();
if(o instanceof Configuration)
this.configuration = (Configuration) o;
只要我从eclips运行应用程序,这就完美了。 当我运行jar时,会创建一个窗口,但不会显示任何内容。所以我假设发生了一个错误。有人知道如何阅读文件吗?
答案 0 :(得分:2)
对于您要实现的目标,Preferences API可能是更好的选择。
答案 1 :(得分:0)
打包时,“config.txt”是否包含在JAR文件中?
我同意@nneonneo,JAR文件不是存储配置数据(或任何其他类型的可变数据)的最佳位置。更好的替代方法可能是将配置数据存储在JAR文件之外的“.properties”或XML文件中。