2012-04-13 1 views
5

可能性の重複:
How to read a large (1 GB) txt file in .NET?非常に大きなファイルの読み込み、置換、書き込みはどうすればできますか?

、ファイルを読み、いくつかの文字列を置換し、別の新しいファイルに書き込むC#での最適な方法は何ですか?私は8GBや25GBのような非常に大きなファイルでこれを行う必要があります。

+1

どのようなファイルですか? –

+0

プレーンテキスト、サニタイズ用のdbバックアップ。 – iLevi

答えて

7

基本的に、ずっとあなたがI/Oについて最適化することができ、最適化のほとんどは、文字列を置換するかどうかを決定するために、文字列の比較にする必要がありますありませんあなたはこれを行う必要があります

文字列を検索して置き換える基準は何ですか?

+0

行番号が必要ない場合は、ReplaceLine()宣言および呼び出し元からその関数を削除する必要があります – oamilkar

+0

偉大な答えです。例外が例外として1行に1つのメモリに読み込まれるべきではありません。 – MattK311

+0

シンプルで素晴らしい! –

1

過度に大きくない行はありますか?その場合は、ファイルを1行ずつ読み込み、その行を置き換えてから、その行を新しいファイルに書き出すことができます。ストリーミングされているので、メモリはほとんど必要ありません。

2

以前は200GBのファイルを作成しました。 StreamReaderとStreamWriterを使用してください。

StreamReader

StreamWriter

関連する問題