에서 메모리 부족 오류가 발생했습니다.이 문제가 발생하여 거의 발생했지만이 오류가 하나 남았습니다. 때문에 시스템 '유형의 다음중첩 루프 C#
"처리되지 않은 예외에
while ((line = reader.ReadLine()) != null) { while (reader.Peek() != '\r') { datalinestream.Add(GetWord(reader)); } LuceneDB.AddUpdateLuceneIndex(new MATS_Doc(datalinestream)); datalinestream.Clear(); }
이 코드는 데이터를 가져 오는 있지만 루프가 중단되지 않고 밖으로 충돌합니다 :
내 코드는 다음과 같다. 에서 OutOfMemoryException은 '루프 내가 전체 파일을 읽을 수 있도록하고 마지막에 휴식하는 동안 외부에 대한 적절한 휴식 조건은 무엇
"가 mscorlib.dll에서 발생했습니다. 다음 줄로 넘어갈 필요가 있으므로 스프레드 시트의 첫 번째 줄을 건너 뛰어야하므로이 작업에 어려움을 겪습니다. 어떤 도움을 많이 주셨습니다.
* UPDATE *
나는 내가 루씬 지수에 대한 문서를 만드는 오전부터 문자열 목록을 삭제하고 만 약 14 필드를 가지고 있는데이 목록이 너무 싶어하지 않는다 큰. 대규모 얻을 수있는 datalinestream
의 원인 - getword
private string GetWord(TextReader inputdata)
{
String word = "";
while (inputdata.Peek() >= 0)
{
word += (char)inputdata.Read();
if ((word.Contains(";"))) break;
}
return word;
}
는'GetWord'는 무엇을 하는가가 발생할 수 있습니다? 파일의 크기는 얼마입니까? –
내 파일은 15kb로 매우 작습니다. 50 줄의 세미 콜론으로 구분됩니다. 코드가 실행되고 어떻게 든 달라 붙는 것처럼 멈 춥니 다. – TheCodeNovice