대용량 텍스트 파일의 줄별 선택 읽기
질문:
문자열 배열을 사용하지 않고 큰 텍스트 파일에서 특정 줄을 읽고 저장하는 방법은 무엇입니까?
배경:
제공된 텍스트 파일은 구조화된 형식을 가지고 있습니다. 처음 25줄에는 정보가 포함되어 있고 그 뒤에는 다양한 줄 수(숫자는 17줄의 값에 따라 결정됨)가 포함됩니다. 목표는 파일에서 처음 25개 행을 독립적인 값으로 추출하여 저장하고 후속 행을 배열로 저장하는 것입니다.
해결책:
.NET 4.0 방법:
.NET 4.0 이상을 사용하는 경우 ReadLines
메소드가 행에 직접 액세스할 수 있습니다. 15행을 읽으려면:
<code class="language-csharp">string line = File.ReadLines(FileName).Skip(14).Take(1).First();</code>
일반 방법:
이전 .NET 버전의 경우 또는 줄의 순차적 읽기를 피할 수 없는 경우:
<code class="language-csharp">string GetLine(string fileName, int line) { using (var sr = new StreamReader(fileName)) { for (int i = 1; i <= line; i++) { if (sr.ReadLine() == null) return null; // 处理文件结尾 if (i == line) return sr.ReadLine(); } return null; } }</code>
이 방법은 대상 줄 앞의 모든 줄을 읽습니다.
참고:
일반적으로 파일을 다시 읽고 다시 쓰지 않고 처음 n 줄을 삭제할 수 있다고 가정할 수 없습니다. 그러나 여기에 제공된 솔루션에서는 행을 삭제할 필요가 없습니다.
위 내용은 문자열 배열을 사용하지 않고 큰 텍스트 파일에서 특정 줄을 효율적으로 읽으려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!