在Java中存储数据的更好方法?
|
我目前正在从事电子游戏,我希望用户能够将其角色保存到新文件中。我知道如何使用文件io(大部分情况下),但是我一直在使用\'serialize \'来序列化整个对象(包含字符的所有变量)并将其保存到文件中。问题是我不断地更新对象并对其进行更改,因此当我尝试用新对象加载旧字符时,它会出错并崩溃。同样也与关卡相同(一个对象包含一些二维数组的变量)。
必须有更好的方法来做到这一点,以便与将来的版本兼容。如果可以的话,有人可以提供一些源代码和/或一个不错的教程的链接吗?感谢所有帮助,谢谢!!!
没有找到相关结果
已邀请:
6 个回复
拟蓬
橙绥
傻零凰死授
而不是Serializable,并且在
和
方法中,可以放置逻辑以读取/写入对象。这样,您可以完全控制序列化/反序列化,并且可以轻松进行更改。另外,您可以使用Gson使用JSON序列化。我不建议使用XML,但是如果您愿意,可以查看xstream以了解相同的内容。
揽芳僵迷仇
徐百晴墓斜
而不是
。用于序列化对象的代码将保持不变。但是,在您的课堂上,您将通过覆盖
和
来确切指定序列化的方式。例如。:
只要确保在读取和写入时顺序保持一致即可。尝试仅添加字段,但是如果您需要删除字段,则需要留空以解决旧版本。 最终,尽管您要进行很多更改,但最好按照LES2的建议切换到属性或XML文件。这样,它将更具可移植性和可读性。
细屠截殴些
跨平台使用。由于密钥是单独存储的,因此新添加的内容很少会干扰现有条目。