首頁 >後端開發 >C++ >如何在C#中有效率地從文字檔案中刪除行?

如何在C#中有效率地從文字檔案中刪除行?

DDD
DDD原創
2025-01-14 09:21:42984瀏覽

How to Efficiently Delete Lines from Text Files in C#?

C#有效率刪除文字檔案行的方法

從文字檔案中刪除特定行是程式設計中常見的任務。對於大型文件,C#中一種高效的方法是創建一個臨時文件,並將原始文件的內容重寫到臨時文件中,同時排除不需要的行。以下程式碼示範了這種方法:

<code class="language-csharp">string tempFile = Path.GetTempFileName();

using (var sr = new StreamReader("file.txt"))
using (var 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(fileName,
    File.ReadLines(fileName).Where(l => l != "removeme").ToList());</code>

需要注意的是,所有範例都假設文字檔案使用UTF-8編碼。

以上是如何在C#中有效率地從文字檔案中刪除行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn