我研究的产品使用了大量Java序列化。在产品投入使用的10年中,这一问题显然在今年之前从未发生过。今年,它发生了两次。大约两年来我们尚未发布新的软件版本。
问题是,序列化文件(只有一个特定的序列化文件,没有其他)偶尔变为空。也就是说,它是正确的长度,但是在十六进制编辑器中打开时,文件的内容完全为0。此序列化文件的编写与其他任何代码方式都没有不同。我们几乎记录了所有内容,并且在受此问题影响的计算机上没有抛出异常。
我们当前的解决方法是,如果在读取文件时遇到StreamCorruptedException,则忽略此文件并重写适当的版本。这仅能奏效,因为当前未使用文件中的数据,但是我们希望在将来的某个时候实现对它的使用,为此,我们显然必须解决该问题。
我的问题是