C#에서는 텍스트 파일에서 특정 줄을 제거하는 것이 일반적인 작업입니다. 간단한 접근 방식과 보다 효율적인 LINQ 기반 솔루션이라는 두 가지 방법이 있습니다.
방법 1: 임시 파일 방법
임시 파일을 생성하고 원본 파일의 내용을 제외 제거할 줄을 복사한 후 원본 파일을 대체하는 방법입니다. 이는 모든 것을 메모리에 로드하면 문제가 발생할 수 있는 매우 큰 파일에 적합합니다.
<code class="language-csharp">string tempFile = Path.GetTempFileName(); using (var reader = new StreamReader("file.txt")) using (var writer = new StreamWriter(tempFile)) { string line; while ((line = reader.ReadLine()) != null) { if (line != "removeme") // Replace "removeme" with your target line writer.WriteLine(line); } } File.Delete("file.txt"); File.Move(tempFile, "file.txt");</code>
방법 2: LINQ 방법(작은 파일에 더 효율적)
더 작은 파일의 경우 LINQ는 더 간결하고 잠재적으로 더 빠른 솔루션을 제공합니다. 유지할 줄을 필터링한 다음 다시 파일에 씁니다. 주요 장점은 지연된 실행입니다. File.WriteAllLines
이 호출될 때까지 파일이 처리되지 않습니다.
<code class="language-csharp">string tempFile = Path.GetTempFileName(); var linesToKeep = File.ReadLines("fileName").Where(l => l != "removeme"); // Replace "fileName" and "removeme" as needed File.WriteAllLines(tempFile, linesToKeep); File.Delete("fileName"); File.Move(tempFile, "fileName");</code>
중요 고려 사항:
try-catch
과 같은 잠재적인 예외를 관리하기 위한 오류 처리(예: FileNotFoundException
블록)가 포함되어야 합니다."file.txt"
및 "removeme"
를 실제 파일 경로와 삭제하려는 줄로 바꾸는 것을 잊지 마세요.
위 내용은 C#에서 텍스트 파일의 한 줄을 효율적으로 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!