我正在处理一个我无法弄清楚的奇怪的 OptionalDataException。
我有对象进来,它们由一个类保存到磁盘,该类通过装饰OutputObjectStream
并调用其writeUnshared
方法来编写它们。定期,每 10000 个对象,它调用flush
和reset
。最后,它关闭流。
这样,我创建了少量只包含序列化对象的文件。
事情就是这样。写完所有这些文件后,我拿了一对并尝试对它们进行归并排序。此时,文件的大小没有改变(如预期的那样)。
为此,我首先打开两个流并调用readObject
每个流。
但是,每次调用readObject
(每个流上的第一个)都会抛出,据我所知,这表明我正在读取原始数据类型,或者正在发生其他我没有得到的事情。OptionalDataException
eof = false, length = 4