将可序列化对象存储到文件中并排除部分数据

6
我有一个对象,可以将BufferedImage存储到我的对象文件中。在同一个对象中,我有一个BufferedImage变量,用于缓存第一次从原始数据数组加载后的图像。当我创建对象并将其存储到文件中时,一切正常,因为BufferedImage为空。问题出现在我更新加载的对象时,变量被初始化,并且我想在更新后保存对象。
有没有可能将可序列化对象存储到文件中,但不包括某些变量?或者我可以在存储到文件时重置我的BufferedImage变量?
提前感谢, Serhiy.
2个回答

15

你应该将不想序列化的属性标记为瞬态(transient):

private transient BufferedImage image;

4

变量可以标记为transient。如果将变量标记为transient,则在序列化对象时,该变量不会被序列化。

当从存储状态中检索对象时,transient变量将具有空值。因此,在使用之前,您需要确保重新初始化瞬态变量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接