次のコードを大きなファイルで動作するように変更したいと思います。
public static void Replace(string filePath, string searchText, string replaceText)
{
StreamReader reader = new StreamReader(filePath);
string content = reader.ReadToEnd();
reader.Close();
content = Regex.Replace(content, searchText, replaceText);
StreamWriter writer = new StreamWriter(filePath);
writer.Write(content);
writer.Close();
}
ファイルストリームを開いて新しいファイル名に書き込み、完了したら元のファイルを削除して新しいファイルに置き換える必要があると考えています。それは正しいと思いますか?
また...このルーチンのシンプルさが気に入っています。必要なファイル I/O コード行を除けば、ファイルを処理するコードは 1 行だけです。ただし、単純化のためにパフォーマンスを犠牲にしているかどうかも疑問に思っています... Regex.Replaceは非常にパフォーマンスが高いですか?