【问题标题】:Update binary file using ObjectOutputStream使用 ObjectOutputStream 更新二进制文件
【发布时间】:2013-05-02 08:10:35
【问题描述】:

我正在使用 java 中的以下代码将三个对象写入二进制文件。

oout = new ObjectOutputStream(new FileOutputStream(fileName));
oout.writeObject(objClass1);             
oout.writeObject(objClass2);              
oout.writeObject(objClass3);

那我要如何修改 objClass1 中的一些数据并更新文件呢?还将 objClass3 附加到文件末尾。

谢谢....

【问题讨论】:

    标签: java file objectoutputstream


    【解决方案1】:

    您不能只更新一个对象,您需要覆盖整个文件。从文件中读取所有 3 个对象,然后使用新的 objClass1 版本将它们写回

    【讨论】:

      【解决方案2】:

      您不能在有内容的文件的开头写入,因此您需要读取内容,更新您想要的内容并再次写入所有内容......这不是很有效,所以我提出了 2 个解决方案:

      • 将每个对象写入单独的文件
      • 使用 HashStoreNeodatisdb4o 等对象存储
      • 您可以使用 rdms 以序列化的方式存储对象(BLOB mysql 中的类型)

      【讨论】:

        猜你喜欢
        • 2012-01-12
        • 2014-03-19
        • 2012-06-18
        • 1970-01-01
        • 2011-10-29
        • 2022-11-11
        • 2013-12-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多