C#은 대용량 텍스트 파일의 특정 줄을 효율적으로 읽습니다
전체 파일을 문자열 배열로 저장하는 메모리 집약적 솔루션을 피하면서 큰 텍스트 파일에서 특정 줄을 읽어야 합니다. 다음과 같은 방법을 사용할 수 있습니다:
방법 1: 바이트 오프셋 방법
FileStream.Seek
메서드를 사용하여 파일 스트림을 계산된 오프셋에 배치합니다. StreamReader.ReadLine()
을 사용하세요. 방법 2: LINQ 방법(.NET 4.0 이상에 적용 가능)
File.ReadLines(fileName).Skip(line - 1).Take(1).First()
을 사용하세요. 방법 3: 맞춤형 라인 리더
예시(방법 1)
<code class="language-csharp">public static string GetLine(string fileName, int line) { using (var sr = new StreamReader(fileName)) { // ... (代码略,此处需补充计算字节偏移量和读取行的逻辑) ... } }</code>
구조화된 문서 처리
구조화된 문서의 경우 다음 전략을 사용할 수 있습니다.
File.ReadLines(fileName).Take(25).ToArray()
을 사용하세요. X
의 값을 결정합니다. File.ReadLines(fileName).Skip(25).Take(X).ToArray()
줄을 읽으려면 X
을 사용하세요. 이러한 방법을 사용하면 전체 파일을 메모리에 로드하지 않고도 큰 텍스트 파일에서 특정 줄을 효율적으로 읽을 수 있습니다. 선택하는 방법은 파일의 특정 크기, 구조 및 .NET Framework 버전에 따라 다릅니다.
위 내용은 C#을 사용하여 큰 텍스트 파일의 특정 줄에 효율적으로 액세스하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!