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