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