C# の効率的なテキストファイル行削除方法
テキスト ファイルを処理する場合、特定の行を削除する必要があることがよくあります。この記事では、特に大きなテキスト ファイルを処理する場合に、このタスクを C# で実行するための効率的なソリューションについて説明します。
ソリューションの概要
このスキームは一時ファイルを作成し、削除する行を除いた行を元のファイルから一時ファイルに選択的にコピーします。対象行の処理が完了すると、元のファイルが一時ファイルに置き換えられ、不要な行が削除されます。
コードの実装
<code class="language-csharp">string tempFile = Path.GetTempFileName(); using (StreamReader sr = new StreamReader("file.txt")) using (StreamWriter sw = new StreamWriter(tempFile)) { string line; while ((line = sr.ReadLine()) != null) { if (line != "removeme") sw.WriteLine(line); } } File.Delete("file.txt"); File.Move(tempFile, "file.txt");</code>
このメソッドは、更新されたファイルから対象の行を除外し、必要な行のみを確実に保持します。
その他の考慮事項
<code class="language-csharp">File.WriteAllLines("file.txt", File.ReadLines("file.txt").Where(l => l != "removeme").ToList());</code>
このメソッドは一時ファイルの作成を回避しますが、ToList() を使用して即時に実行する必要があります。
以上がC# で大きなテキスト ファイルから行を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。