1

ファイルにすばやく簡単にアクセスするために、このシナリオでデータを保存する最良の方法は何ですか (シリアル化なし - Stream + BinaryWriter/BinaryReader を使用するだけ)。

DataContainer には 10 個のファイルが含まれ、各ファイルは 1 MB です。

ファイル 5 への書き込み/読み取りが必要な場合は、10 mb コンテナーのその部分のみを読み取り、ヘッダーに格納されている可能性がある一意の名前/ID 識別子を使用して 1 mb を返す必要があります。コンテナーの途中でファイルを更新しようとすると問題が発生します。これは、インデックスがストリーム内で変更されるためです (更新されたオブジェクトが既存のものよりも大きいか小さい場合)。

更新時に datacontainer 全体を書き直さなくても、これを処理するにはどうすればよいですか?

既存のライブラリを使用する代わりに、これを自分で作成したいと考えています。

何か案は?

4

1 に答える 1

0

インデックスの代わりにファイルのサイズを保存できるので、インデックスを計算できると思います。たとえば、コンテナを考えてみましょう: ファイル サイズ 1 10 2 15 3 20 4 25 ファイル 4 のインデックスは、単純に 10+15+20 として計算されます。

于 2012-12-21T09:44:32.250 に答える