【发布时间】:2016-04-22 08:28:06
【问题描述】:
我想读入一个在本例中为 3mb 的文件 这样做大约需要 50-60 秒,这似乎很慢。有谁知道如何加快速度?
string text = null;
using (StreamReader sr = new StreamReader(file, Encoding.Default))
{
string line;
while ((line = sr.ReadLine()) != null)
{
text += (line);
backgroundWorker1.ReportProgress(text.Length);
}
}
我还需要使用后台工作程序,以便报告已加载的百分比(对于 500mb 到 1gb 左右的文件)
【问题讨论】:
-
您是否尝试过您的测试而不连接到
System.String,即注释掉text += (line);行? -
也许您不想按行读取,但缓冲区长度固定。
-
@Christian.K 我做到了,而且很快。现在我将如何获取文本?
-
查看@RB 的回答(改用
StringBuilder)。
标签: c# streamreader