在同一文件中反序列化多个对象(Java)

4
当序列化对象时,我进行设置,
FileOutputStream fileOutputStream = new FileOutputStream(path +"\\"+filename,true);

将对象追加到序列化文件中。例如,我将Email对象序列化到同一个文件中。

当反序列化这些保存的对象时,我希望获得所有对象,但它只给出了第一个对象。

ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
Email sentEmail = (Email) objectInputStream.readObject();

我在这里找到了一个类似的问题, 如何在Java中反序列化多个对象?但是没有objectInputStream.hasNext()方法。那么,在反序列化时如何获取所有对象呢?


1
这个回答解决了你的问题吗? - Tasos P.
只需持续读取对象,直到捕获到 EOFException 异常,然后停止。 - user207421
但请注意,您不能使用ObjectOutputStream向文件追加内容而不采取特殊措施。有关详细信息,请参见此处 - user207421
1个回答

1

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