0

这是我在 Stackoverflow 上的第一篇文章,请保持温和 :) 我是一名初学者 Java 开发人员,正在开发一个需要将类状态保存到网络驱动器的应用程序。我发现单独保存属性(只有 2 个)是最容易的,因为一个属性在文件中的访问和修改(保存和加载)比另一个属性要多得多。另一方面,我想在这个程序上工作并在它被大量使用时改进它。问题是,如果我在类实现中更改某些内容,那么它不再与从具有该类的先前版本的文件中加载的状态兼容。

一个例子:老班:-姓名-地址-电话号码

新班级:-姓名-地址-电话号码-年龄

将旧类从文件加载到新类中会引发异常,因为加载的类与新类不兼容。有什么解决方案吗?

提前谢谢你的帮助!:)

补充:哦,我正在使用 ObjectOutputStream 来保存文件。

4

1 回答 1

0

将状态存储为 XML。有JAXB,在新版本中可以纯粹使用注释将类对象存储/加载到 XML 或从 XML 加载。

这留下了更多的控制权(= 需要更多的纪律来编码坚持的内容)。但是很容易。也可以在开发过程中对 XML 打补丁。(您不需要将完整的 JAXB 与 XSD 一起使用。)

于 2013-09-25T15:22:12.820 回答