【问题标题】:Change File.Copy default buffer size.更改 File.Copy 默认缓冲区大小。
【发布时间】:2018-07-17 22:10:37
【问题描述】:

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

【问题讨论】:

  • N/A - 它不是那样做的 - 它要求操作系统复制它 - here's windowshere's *nix;操作系统选择做什么取决于它。
  • 您可能想要使用不同的工具,例如 robocopyTeraCopy,它们会更快或提供额外的功能

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


【解决方案1】:

鉴于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);

您可以做的事情不多(事实上,没有)来优化它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-29
    • 1970-01-01
    • 2012-05-08
    • 2013-08-14
    相关资源
    最近更新 更多