効率的なインライン検索と置換のための大きなファイル
-
05-09-2019 - |
質問
あの標準ツールこれは、簡単なGUIを支援一部のユーザー(windows)で作成しています。いるファイルを開くダイアログの送迎は行っておりファイルプラグインの実行部になります。
このファイルXMLファイルとなります。ファイルが含まれます(最初の数行)テキスト文字列を削除または交換と空白文字など).
問題は、XMLファイルが複数ギガバイトが固定の検索と置換文字列が最初に4kました。
どの上書きする方法は、検索文字列に、保存場所を必要とせず読書の全額をメモリにロードおよびまたは書き込み過ぎるディスク?
解決
明らかに変わる空白文字のサイズのファイル全体に変わりませんの最良の選択はここだけストリームを通じて、全ファイルの更新の速度で処理が行われます。
このため、Unix環境となって活 mmap()
地図を適切な部分の始点のファイルをRAM、そして編集すること及びます。
このスニペット 表示方法を示します利用のWin32相当の CreateFileMapping()
機能です。
他のヒント
簡単に書き独自のツールです。している場合は、当初、その力approchします。たまちゃんスキャンできます。
しかしを避け、多くのディスクに書き込みができない場合には変更ファイルのサイズです。ご希望の場合は削除や挿入バイトの中では真ん中辺りに位置まで上書きすべております。る場合が実質的にすべてのファイルです。なんで白文字。どんぐり替のバイトもありませんオーバーヘッド。
所属していません StackOverflow