我想存储整个应用程序状态,然后在下次启动时恢复它。有一个图书馆会让我更容易吗?或者你们中有人有什么建议吗?
独立应用程序
答案 0 :(得分:0)
有一种用于您的紫癜的设计模式,它是Memento模式。
纪念品模式由三个对象实现:创始人,看护人和纪念品。发起者是一个具有内部状态的对象。看护人会对创始人做点什么,但希望能够撤消变更。看护人首先要求发起人提供纪念品。然后它执行它将要执行的任何操作(或操作序列)。要回滚到操作之前的状态,它会将memento对象返回给发起者。纪念品对象本身是一个不透明的对象(看护人不能或不应该改变的对象)。 - 维基百科
您可以阅读Wiki页面中提供的示例,以了解如何在代码中使用它。
如果要将对象的状态保存为文件,并且即使在程序执行结束后也可以使用它,则应在要存储的类中实现Serializable接口。
示例:
public class Example implements Serializable
{
}
并在那里实例化该类:
try{
Example c = new Example();
FileOutputStream fout = new FileOutputStream("YOURPATH");
ObjectOutputStream oos = new ObjectOutputStream(fout);
oos.writeObject(c);
oos.close();
System.out.println("Done");
}catch(Exception ex){
ex.printStackTrace();
}