java - 如何使用buffer读写java对象

标签 java

我需要向文件写入和读取对象。 我如何使用缓冲区来做到这一点? 当我这样使用它时,它只会将最后一个对象写入文件。

        OutputStream file = new FileOutputStream(DRB );
        OutputStream buffer = new BufferedOutputStream( file );
        ObjectOutput out = new ObjectOutputStream( buffer );

        try{
            out.writeObject(e1);
          }
          finally
          {
            buffer.flush();
            out.close();
          }

最佳答案

要附加到 ObjectOutputStream,我认为只有两个选项

  • 将所有数据读入列表,添加项目并写入所有对象。 ObjectStream 是单个连续流。它不像文本,您可以在末尾不断添加。
  • 使用自己的格式将多个独立流写入同一个文件。您可以写入 ByteArrayOutputStream,并在写入内容之前使用它来写入流的长度。这样您就可以读回单个流。只有当您对处理二进制文件有信心时,我才会这样做。

关于java - 如何使用buffer读写java对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17192330/

相关文章:

java - 如何使用 ASM 访问器检查堆栈?

java - 无法为初始化脚本打开 cp_init 类缓存

JavaFX 应用程序黑屏

java - 调用虚方法 null context.getSystemService

java - 每次调用方法时创建一个新的 Set

file - 如何导入java.nio.file包

java - Apache commons-lang StringEscapeUtils 不转义 XML

java - 在 log4j 中使用 RollingFileAppender 滚动日志文件

java - 如何在java中打印HashMap中的单个键值对?

java - 想要从列表访问字符串<List<String>>