我想在文件中保存任何类型的对象,并随时恢复它。
我将它用于我想要的面向对象的存储。序列化不是解决方案,因为许多类不实现Serializable。
谢谢
答案 0 :(得分:2)
有些物品从未打算储存和检索,如果你尝试过,会以惊人的方式打破。任何使用本机资源(文件句柄,套接字等)的东西都是一个很好的例子。这就是Serializable接口存在的原因;它可以部分地保证写入对象并将其读回不会引起奇怪的问题。
如果你想尝试它,你可以想象使用反射来获取对象的内容并将它们填充到文件中。但那将是一个非常糟糕的主意。
答案 1 :(得分:0)
如果对象是您自己的,只需实现Serializable。如果他们归其他人所有,那么就让他们做同样的事情,或者推出自己的序列化机制(可能使用反射)。
请记住,后一个进程非常脆弱(取决于另一个类的内部),如果该类包含不可序列化的对象(如文件句柄或套接字),则可能完全不合适。