서식있는 텍스트 상자에 150MB 텍스트 파일을 읽으려고합니다.서식있는 텍스트 상자에 큰 (150MB) 텍스트 파일 읽기
현재 StreamReader를 사용하여 파일의 각 줄을 반복하고 모든 줄을 StringBuilder 인스턴스에 추가합니다.
작은 파일에도 적용되지만 대용량 파일을 읽으려고 할 때 System.OutOfMemory 예외가 발생합니다.
150MB 파일을 읽는 데 아무런 문제가 없습니다. 실제 메모리가 많이 있으며 Windows 32 비트 응용 프로그램 주소 공간 내에 있습니다.
여기에있는 사람이이 작업을 수행하는 방법을 알고 있다면 대단히 감사하겠습니다.
끝에 코드를 첨부하겠습니다.
감사합니다.
StringBuilder sb = new StringBuilder();
using (StreamReader sr = new StreamReader(fileLocation))
{
string line;
while ((line = sr.ReadLine()) != null)
{
sb.AppendLine(line);
}
}
return sb;
+1, 좋은 질문입니다. –
스택 추적을 게시 할 수 있습니까? 그래서 우리는 예외가 발생한 곳을 정확하게 볼 수 있습니다. 또한 관련이있을 수 있습니다 : http://stackoverflow.com/questions/363680/stringbuilder-for-string-concatenation-throws-outofmemoryexception (string builder 관련) – Christoffer
이 코드 (읽기 부분)가 예외를 throw하는지 명확히하십시오. 또는 RTB를로드 할 때 그런 일이 발생합니까? –