我知道这听起来很微不足道,但我有一个非常具体的原因要问。
我正通过一个非常糟糕的网络到达印度孟买。如果我是本地人,我会简单地运行以下代码:
if (File.Exists(f2))
{
File.Delete(f2);
}
File.Copy(f1, f2);
当然,我必须首先测试文件是否存在,因为我不能只复制文件覆盖现有文件的顶部。 C# 对此表示不满。这就是问题所在。“首先测试它是否存在”仅需要 5 秒。然后删除大约需要 3 秒。最后,复制大约需要 15 秒。对于 15 秒的复制,最终需要 23 秒。
增加了 8 秒,或大约 50% 的开销,只是为了防止 C# 错误。
有没有办法说
File.Copy(f1, f2, Just_do_it_damnit)
...没有所有“它是否存在”的开销?
最佳答案
是的,您可以使用 File.Copy(f1, f2, true)
覆盖目标文件。
关于c# - 覆盖文件最快的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6468698/