我試圖在一個150mb的文本文件中讀入一個富文本框。C# - 將一個大文本文件讀入一個富文本框
目前,我正在使用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,很好的問題。 – 2012-02-29 11:42:51
你可以發佈堆棧跟蹤嗎?所以我們可以確切地看到異常發生的位置。此外,這可能是相關的:http://stackoverflow.com/questions/363680/stringbuilder-for-string-concatenation-throws-outofmemoryexception(關於字符串建設者) – Christoffer 2012-02-29 11:53:26
請澄清,這段代碼(閱讀部分)拋出異常或者當您加載RTB時會發生這種情況嗎? – 2012-02-29 11:54:23