【发布时间】:2012-02-15 16:26:42
【问题描述】:
鉴于此代码:
readFile = new FileStream(FilePath, FileMode.Open);
streamReader = new StreamReader(readFile);
dsSheet = new DataSet();
dsSheet.Tables.Add(sValidNumbersLibrary);
dsSheet.Tables[sValidNumbersLibrary].Columns.Add("Numbers");
dt50Records = dsSheet.Tables[sValidNumbersLibrary].Clone();
String sLine = string.Empty;
sLine = streamReader.ReadToEnd();
// The next line fails with System.OutOfMemoryException:
sLine = (sLine.Contains(",")) ? sLine.Replace(",", "\r\n") : sLine;
sLine = sLine.Replace("\r\n", ",");
我应该如何处理这个System.OutOfMemoryException?
【问题讨论】:
-
尝试捕获?说真的,只是分块阅读。不要一次把它全部放在内存中。
-
哪个like会导致异常? ReadToEnd?
-
问题出现时
sLine有多大? -
请勿转发问题。问一次问题,如果您被否决,请解决问题,不要再次发布。
-
我删除了原始(已关闭)问题并清除了对此问题的关闭投票。一个问题只需要一份副本。