我必须打开一个ObjectOutputStream
,然后写一个对象,最后关闭流。我使用以下代码多次这样做:
// try-with-statement is very practical
try(FileOutputStream fos = new FileOutputStream("G.txt") ;
ObjectOutputStream oos = new ObjectOutputStream(fos);){
oos.writeObject(v);
} catch (IOException e) {
e.printStackTrace();
}
但我想要的是附加在"G.txt"中序列化的对象?请问怎么做?我想不通?
您可以将FileOutputStream
设置为第二次和后续写入的追加模式,但也必须将AppendingObjectOutputStream
用于第二次及后续写入。你可以在网上找到这门课。它覆盖writeStreamHeader()
以不执行任何操作。否则,当你加入时,你将在阅读时获得StreamCorruptedException: invalid type code AC
。
您可以使用FileOutputStream(String name, boolean append)
构造函数。