在同一个驱动器上,从文件夹A复制一个1.6GB的文件到文件夹B需要大约2分钟的时间用 File.Copy(src, dest);
。有没有更快的方法在C#/.NET中实现(无需硬件)-例如使用流、线程等?
使用文件流会更快吗?还有一种通过线程池分块读取/写入字节范围的类,这种方式听起来很容易破坏文件完整性,但速度是第一位的,而不是完整性。
我已经搜索过,但每个人都说要使用File.Copy,但它很慢(和Windows Copy一样慢)- 我不想使用第三方工具。
以下是一些问题的答案:
复制时间比较:
> C# : 2.15m
> Windows Explorer: 2.53m
> TeraCopy: 2.26m
> FastCopy: 2.24m
好的,那些不是平均值,我知道它们可能会在后续运行中稍微改变,但我真的认为复制文件会有一种更快的方法,因为我认为Windows正在进行其他安全和完整性检查 :-(
我仍然希望能得到一些好的答案(比如说,“哦,是的,如果你使用缓冲区 m 并关闭安全性,1.5GB以上的文件将会快 x ”) - 在这一点上,我只是期望。