【发布时间】:2013-08-16 02:23:06
【问题描述】:
我想使用 ObjectOutputStream.writeObject() 将 Hashtable 序列化为文件,但我希望编写器始终覆盖任何现有对象,以便只存在一个对象:
FileOutputStream fout = new FileOutputStream( f);
ObjectOutputStream writer = new ObjectOutputStream(fout);
writer.writeObject( hashtable);
writer.flush();
hastable 在运行时会间歇性更新,因此我使用辅助方法来保持其状态:
private void persistObject( Hashtable ht){
writer.writeObject( ht);
writer.flush();
}
问题是每次我调用writeObject()时,文件都会附加一个新的hastable;有没有办法只覆盖文件中的任何内容,以便只保留一个对象?
【问题讨论】:
-
我认为这是
FileOutputStream的默认行为,覆盖,而不是附加...可能是错误的:P -
@MadProgrammer 如果您保持文件打开,这不是默认行为;它只是不断追加。
-
是的,没有那样阅读代码