更改File.Copy默认缓冲区大小。

时间:2018-07-17 22:10:38

标签: c# copy buffer system.io.file

我正在寻找可能提高文件传输到网络驱动器速度的方法。我目前正在使用标准的File.Copy。有谁知道File.Copy的默认缓冲区大小以及是否可以更改它?

1 个答案:

答案 0 :(得分:3)

假设File.Copy使用Window的复制功能,如您在source code中所见:

internal const String KERNEL32 = "kernel32.dll";

[DllImport(KERNEL32, SetLastError=true, CharSet=CharSet.Auto, BestFitMapping=false)]
[ResourceExposure(ResourceScope.Machine)]
internal static extern bool CopyFile(...)

...
bool r = Win32Native.CopyFile(fullSourceFileName, fullDestFileName, !overwrite);

您可以做很多事情(实际上什么也没做)来优化它。