C#-将一个大(150MB)的文本文件读入富文本框

本文关键字:文本 文件 一个 C#- 150MB | 更新日期: 2023-09-27 18:26:21

我正在尝试将一个150 MB的文本文件读入富文本框中。

目前,我正在使用StreamReader迭代文件中的每一行,将每一行都附加到StringBuilder实例中。

这适用于较小的文件,但在尝试读取较大的文件时会出现System.OutOfMemory异常。

我认为读取150兆字节的文件没有任何问题——有足够的物理内存,而且在Windows 32位应用程序地址空间内。

如果这里有人知道怎么做,我们将不胜感激。

我会在最后附上我的代码。

谢谢。

StringBuilder sb = new StringBuilder();
using (StreamReader sr = new StreamReader(fileLocation))
{
   string line;
   while ((line = sr.ReadLine()) != null)
   {
      sb.AppendLine(line);
   }
    }
return sb;

C#-将一个大(150MB)的文本文件读入富文本框

使用RichTextBox.LoadFile

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

我不知道您为什么要将整个文本加载到StringBuilder。或者,您可以将FileStream传递给LoadFile,后者将为您呈现大文件。

我想你应该以某种方式管理输入文件——比方说,把它分成几个更少的文件,并以编程的方式在各个部分之间导航

150MB的文件听起来很不正常。也许您应该考虑流类型的数据处理,而不是文件类型。