C# - 将大型(150MB)文本文件读入RTF文本框

Jos*_*ker 5 c# windows visual-studio winforms

我正在尝试将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;
Run Code Online (Sandbox Code Playgroud)

abh*_*ash 5

使用 RichTextBox.LoadFile

http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox.loadfile.aspx

我不确定你为什么要将整个文本加载到StringBuilder.或者,您可以传递一个FileStream可以LoadFile为您呈现大文件的文件.