"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > C#의 큰 텍스트 파일에서 라인을 효율적으로 삭제하려면 어떻게해야합니까?

C#의 큰 텍스트 파일에서 라인을 효율적으로 삭제하려면 어떻게해야합니까?

2025-03-22에 게시되었습니다
검색:936

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");

이 방법을 사용하면 업데이트 된 파일에서 대상 행을 제외하면 필요한 라인 만 유지되도록합니다.

기타 고려 사항

  • 성능 : 큰 파일의 경우이 메소드는 순차적으로 회선을 처리하여 메모리 사용 및 디스크 I/O를 최소화합니다.
  • 인코딩 : 코드는 텍스트 파일이 UTF-8을 사용하여 인코딩된다고 가정합니다. 필요에 따라 인코딩을 조정하십시오.
  • 메모리 처리 : 더 작은 파일의 경우 메모리 처리가 더 효율적일 수 있습니다. 다음을 고려하십시오 :
File.WriteAllLines("file.txt",
    File.ReadLines("file.txt").Where(l => l != "removeme").ToList());

이 메소드는 임시 파일을 생성하지 않지만 tolist ()를 사용하여 즉시 실행해야합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3