我查了一下,我几乎明白了,但我还有一个剩余的运行时错误。
我的代码如下:
while ((line = reader.ReadLine()) != null)
{
while (reader.Peek() != '\r')
{
datalinestream.Add(GetWord(reader));
}
LuceneDB.AddUpdateLuceneIndex(new MATS_Doc( datalinestream));
datalinestream.Clear();
}
代码正在导入数据,但循环不会中断,并且由于以下原因会崩溃
“在 mscorlib.dll 中发生了“System.OutOfMemoryException”类型的未处理异常”
外部 while 循环的适当中断条件是什么,以确保我读取整个文件并在最后中断。我为此感到挣扎,因为我需要前进到下一行,并且我需要跳过电子表格中的第一行。非常感谢任何帮助。
*更新*
我清除了字符串列表,因为我正在为 lucene 索引创建一个文档,并且它只有大约 14 个字段,我不希望列表变得太大。
我的 getword 代码
private string GetWord(TextReader inputdata)
{
String word = "";
while (inputdata.Peek() >= 0)
{
word += (char)inputdata.Read();
if ((word.Contains(";"))) break;
}
return word;
}