我在解决一个实现问题时遇到了麻烦,我有一个类,它的行为类似于列表,但不是在某个集合中保存文件,而是将它们保存在磁盘上。
当我想向列表中添加一些元素时会出现问题。在我的文件的开头,我有一个 int 告诉我列表中有多少对象,但我无法找出更新这个值的优雅方法。我有这样的事情:
public boolean add(T element)
{
try
{
out.writeObject(element);
out.flush();
//and here we need to update the int in my file
} catch (IOException e)
{
e.printStackTrace();
}
return true;
}
我试图使用这样的东西:
ObjectOutputStream upd=new ObjectOutputStream(new FileOutputStream(data.getAbsolutePath(),true));
但是正如我观察到的那样,它会将一些数据写入文件的开头,一些序列化标头或某事,我如何更新文件中的单个条目或如何更改
ObjectOutputStream
“指针”写在文件的开头?