用c#复制非常慢

问题描述

| 我正在尝试使用循环和copyTo方法复制很多文件。 复制非常慢。 abot每分钟10 mb! (与鼠标右键单击并复制相反)。 是否有其他替代方法可以使用呢?     

解决方法

        是的,使用
FileStream
进行相应缓冲。举例来说,应该遵循以下思路:
using (var inputStream = File.Open(path,FileMode.Read),outputStream = File.Open(path,FileMode.Create))
{
    var bufferRead = -1;
    var bufferLength = 4096;
    var buffer = new byte[bufferLength];

    while ((bufferRead = inputStream.Read(buffer,bufferLength)) > 0)
    {
        outputStream.Write(buffer,bufferRead);
    }
}
相应地调节ѭ2。您可能会围绕此基础构建一些东西来提高其整体速度,但是稍作调整仍然应该可以提供足够的改进。     ,        我认为这会有所帮助: File.Copy与手动FileStream.Write用于复制文件 它还说明了为什么复印功能慢。     ,        最快(最方便)的复制文件的方法大概是3英镑。您没有使用它的原因吗?