私は、BinaryReader/BinaryWriterの長さが1000バイトで、各レコードは50バイトです。 350から550までのレコードを削除するにはどうすればいいですか?最後に残りの800バイトをファイルに保存しますか?バイナリファイルからデータを削除する
0
A
答えて
2
最も簡単な方法は、レコードをループして1つのファイルから読み込んで新しいファイルに書き込んだり、必要のないレコードを削除したりすることです。
理論上、はと同じファイル内で新しいデータで上書きすることができますが、私は個人的に可能な限り単純なアプローチをとっています。つまり、何らかのレコードが2回含まれている可能性があるファイルではなく、元のファイルと削除可能な「不良」ファイルがまだ残っています。
1
あなたはファイルの末尾に位置550からデータを読み、そしてあなたはその正確な操作を行う可能性のFileStreamを使用している場合は、位置350
でそれを記述する必要があります。 BinaryReaderとBinaryWriterを使用すると、ファイル内のすべてのデータを読み込み、保持したいデータを書き戻す必要があります。このような小さいファイルの場合は、すべてのデータをメモリに保存できますが、大きなファイルの場合は、一時ファイルに書き込み、完了したら元のファイルを置き換えます。
データを失うリスクを最小限に抑えるために、一時ファイルに書き込むこともよいでしょう。操作の途中で何か問題が発生した場合は、少なくとも1つの元のファイルがディスクに残ります。
関連する問題
- 1. 化石の履歴からバイナリファイルを削除する方法
- 2. 水銀でバイナリファイルを削除する
- 3. elasticsearchからデータを削除
- 4. ブートストラップモードからデータを削除
- 5. データグリッドビューからデータを削除
- 6. バイナリファイルからデータを抽出する
- 7. SharePoint ListItemデータから ';#'を削除する
- 8. SQLテーブルからデータを削除する
- 9. ハッシュテーブルからデータを削除する
- 10. HDF5ファイルからデータを削除する
- 11. ファイルからデータを削除する
- 12. WinSock:ソケットからデータを削除する
- 13. ノードからデータを削除する
- 14. SQLite削除されたデータはデータベースのバイナリファイルに残ります
- 15. データベース内のデータを削除せずにFirebaseリサイクラビューアダプタからデータを削除する
- 16. ファイルストリームからデータを削除します
- 17. Python:Figureからベースマップをコピーするか、データを削除する
- 18. バイナリファイル(Java)からデータを読み込む?
- 19. jtableテーブルモデルクローンからデータの列を削除
- 20. RecyclerviewのJson Arrayからデータを削除
- 21. Android:データベースからデータを削除
- 22. RecycleView内のデータベースからデータを削除
- 23. AChartEngineでライブグラフからpreviusデータを削除
- 24. リモートXMLファイルから削除したときにワードプレスからデータを削除
- 25. 古いデータを弾性検索から削除または削除する
- 26. Androidをリストビューから削除してから削除する
- 27. gitステータスから非修飾バイナリファイルを削除するにはどうしたらいいですか?
- 28. このデータ構造からjs配列からデータを削除するには?
- 29. プッシュ後にgit remoteのバイナリファイルを削除する
- 30. Pythonスクリプトから.exeを除いたバイナリファイルを作成する
最も簡単なのは、最初の7件のレコードを読んで保存するだけです。残りの4件を読んで最後に読んで保存してください...? –