«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу эффективно удалить строки из больших текстовых файлов в C#?

Как я могу эффективно удалить строки из больших текстовых файлов в C#?

Опубликовано в 2025-03-22
Просматривать:293

How Can I Efficiently Delete Lines from Large Text Files in C#?

C# Метод удаления строки текстовых файлов

]]

При обработке текстовых файлов часто необходимо удалить определенные строки. В этой статье рассматриваются эффективные решения для реализации этой задачи в C#, особенно для обработки больших текстовых файлов.

]

Обзор решения

Эта схема создает временный файл и выборочно копирует строки из исходного файла во временный файл, исключая строки, которые будут удалены. После обработки целевой строки временный файл заменяет исходный файл, тем самым удаляя ненужные строки.

]

реализация кода ]

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");
Этот метод гарантирует, что только необходимые строки сохраняются при исключении целевых строк из обновленных файлов.

]

другие соображения ]

]
  • Performance: для больших файлов этот метод минимизирует использование памяти и диск ввода/o путем последовательной обработки строк. ]
  • код предполагает, что текстовый файл кодируется с использованием UTF-8. Отрегулируйте кодирование по мере необходимости. ]
  • обработка памяти:
  • для более мелких файлов обработка памяти может быть более эффективной. Пожалуйста, рассмотрите следующее: ] ]
file.writealllines ("file.txt", File.readlines ("file.txt"). Где (l => l! = "Removeme"). Tolist ());
File.WriteAllLines("file.txt",
    File.ReadLines("file.txt").Where(l => l != "removeme").ToList());
]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3