2011-06-24 43 views
1

我知道这听起来很微不足道,但我有一个非常具体的问题。什么是覆盖文件的最快方法?

我正在穿过一个非常蹩脚的网络到印度孟买。如果我是本地的,我只想运行,下面这段代码:

   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) 

...没有所有的“它存在”的开销?

+0

你不需要进行检查,看是否存在flie。你可以尝试删除它并捕获异常,如果它不。 – Gabe

+0

覆盖文件的最快方法是... [阅读此](http://msdn.microsoft.com/en-us/library/system.io.file.copy.aspx) – sehe

回答

3

当然,使用它有什么问题?

File.Copy(f1,f2,true); 
相关问题