ランダムアクセスファイルを使用してバイナリツリーを更新しようとしています。しかし、ノードを追加するたびにツリー全体を書き換えるのではなく、変更したばかりのノードを更新したいだけです。これまでに2つの質問があります:ランダムアクセスファイルを使用してJavaのファイルの一部を更新する
RandomAccessFileを使用してファイルにオブジェクトを書き込む際に問題が発生しました。ノードオブジェクトであるため、RAFには読み取り/書き込みメソッドがありません。私はツリークラスのためにSerializableを実装しましたが、ツリーをファイルに書き出す方法はまだ分かりません。 mynode
がbyte[]
ではないので、私はエラーを取得しています
Node<String> mynode = new Node<String>();
RandomAccessFile raf = new RandomAccessFile("raf.txt", "rw");
raf.write(mynode, 0, 100);
。
私の2番目の問題は、上書きするファイルの検索方法がわかりません。私がやったのは、idのノードに余分なフィールドを追加することです。id:のハッシュマップを保持して、どこを変更するかを決めます。これが正しい方法であるかどうかわからない
なぜファイルに保存しますか?実際には、ほとんどの場合、データベースを使用したいと思うでしょう。 –