私は1つの実装の問題を理解するのに苦労しています.1つのクラスがあり、リストのように動作しますが、コレクションにファイルを保持する代わりに、それらをディスクに保存します。
リストに要素を追加したいときに問題が発生します。ファイルの先頭に、リストにあるオブジェクトの数を示す 1 つの 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));
しかし、私が観察したように、ファイルの先頭、シリアル化ヘッダーまたは sth にいくつかのデータが書き込まれます。ファイル内の単一のエントリを更新するにはどうすればよいですか、または変更する方法
ObjectOutputStream
ファイルの先頭に書き込む「ポインタ」?