C#:下载速度之间的差异

时间:2018-05-21 00:35:40

标签: c# filesystems

我使用StreamReader从远程磁盘下载带控制台应用的文件:

using (StreamReader sr = new StreamReader(new FileStream(sourcePath), 
FileMode.Open, FileAccess.Read), Encoding.GetEncoding(1251), true)
{
    while (!sr.EndOfStream)
    {
        sr.ReadLine();
    }
}

一切都很好,但是当我通过OS文件系统界面下载相同的文件时,速度比StreamReader快得多。

如果可能,有人可以解释如何提高StreamReader的下载速度吗?

1 个答案:

答案 0 :(得分:1)

看起来加速下载速度的唯一方法是增加缓冲区大小 - 越大越好:

using (StreamReader sr = new StreamReader(sourcePath, Encoding.GetEncoding(1251), true, 8 * 1024 * 1024)
{
    while (!sr.EndOfStream)
    {
        sr.ReadLine();
    }
}