Java 在排除某些数据的情况下将可序列化对象存储到文件
我有一个对象,它允许我将BuffereImage存储到我的对象文件中。在同一个对象中,我有一个BuffereImage变量,在第一次从原始数据数组加载图像后,我使用该变量缓存图像。当我创建对象并将其存储到文件时,一切正常,因为BuffereImage为null。当我更新加载的对象并且变量正在初始化,并且我想在对象更新后保存它时,就会出现问题 是否有可能将可序列化对象存储到文件中,但不包括一些变量?或者我可以在存储到文件时以某种方式重置BuffereImage变量 提前感谢,,Java 在排除某些数据的情况下将可序列化对象存储到文件,java,serialization,file-io,bufferedimage,Java,Serialization,File Io,Bufferedimage,我有一个对象,它允许我将BuffereImage存储到我的对象文件中。在同一个对象中,我有一个BuffereImage变量,在第一次从原始数据数组加载图像后,我使用该变量缓存图像。当我创建对象并将其存储到文件时,一切正常,因为BuffereImage为null。当我更新加载的对象并且变量正在初始化,并且我想在对象更新后保存它时,就会出现问题 是否有可能将可序列化对象存储到文件中,但不包括一些变量?或者我可以在存储到文件时以某种方式重置BuffereImage变量 提前感谢,, Serhiy.您应
Serhiy.您应该将不想序列化的属性标记为瞬态:
private transient BufferedImage image;
变量可以标记为
瞬态
。如果一个变量被标记为瞬态变量,那么在序列化对象时它将不会被序列化
此外,当您从存储状态检索对象时,transient
变量将具有空值。因此,您需要确保在使用瞬态变量之前重新初始化它