【问题标题】:Deserialize many objects in same file (java) [duplicate]反序列化同一文件中的许多对象(java)[重复]
【发布时间】:2021-03-29 18:49:29
【问题描述】:

序列化对象时,我设置,

FileOutputStream fileOutputStream = new FileOutputStream(path +"\\"+filename,true);

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

在反序列化这些保存的对象时,我想获取所有对象,但它只给出了第一个对象。

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

我发现了一个类似的问题, Deserialize many objects in java? 但没有 objectInputStream.hasNext() 方法。那么,反序列化时如何获取所有对象呢?

【问题讨论】:

  • this 回答你的问题了吗?
  • 继续阅读对象,直到你抓住EOFException,然后停下来。
  • 但请注意,如果不采取特殊措施,您无法附加到带有ObjectOutputStream 的文件。详情请见here

标签: java


【解决方案1】:

序列化电子邮件对象的集合。您应该能够阅读包含所有电子邮件对象的集合。欲了解更多信息,请阅读 SO 上的 How to read all objects from ObjectInputStream

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-05
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-07
    相关资源
    最近更新 更多