我使用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
的下载速度吗?
答案 0 :(得分:1)
看起来加速下载速度的唯一方法是增加缓冲区大小 - 越大越好:
using (StreamReader sr = new StreamReader(sourcePath, Encoding.GetEncoding(1251), true, 8 * 1024 * 1024)
{
while (!sr.EndOfStream)
{
sr.ReadLine();
}
}