Какой самый быстрый способ переписать файл? - PullRequest
1 голос
/ 24 июня 2011

Я знаю, это звучит очень тривиально, но у меня есть очень конкретная причина спрашивать.

Я пересекаю очень дурацкую сеть в Мумбаи, Индия.Если бы я был локальным, я бы просто запустил этот код ниже:

                if (File.Exists(f2))
                {
                    File.Delete(f2);
                }

                File.Copy(f1, f2);

Конечно, я должен проверить, существует ли файл первым, потому что я не могу просто скопировать файл поверхсуществующий файл.C # жалуется на это.Вот в чем проблема ... «Тест, чтобы увидеть, существует ли он первым», занимает всего 5 секунд.Затем удаление занимает около 3. И, наконец, копия занимает около 15. Для пятнадцатисекундной копии это занимает 23 секунды.

Это увеличение на 8 секунд, или около 50% накладных расходов, простопредотвратить ошибку C #.

Есть ли способ сказать

File.Copy(f1, f2, Just_do_it_damnit)

... без всех накладных расходов «существует»?

Ответы [ 5 ]

13 голосов
/ 24 июня 2011

Да, вы можете использовать File.Copy(f1, f2, true) для перезаписи файла назначения.

3 голосов
/ 24 июня 2011

Вы имеете в виду

File.Copy(f1, f2, True)

См. http://msdn.microsoft.com/en-us/library/9706cfs5.aspx

3 голосов
/ 24 июня 2011

Конечно, что не так с этим?

File.Copy(f1,f2,true);
2 голосов
/ 24 июня 2011

Ответ на вопрос.

File.Copy(f1, f2, true);

См. Страницу Microsoft об этом:

http://msdn.microsoft.com/en-us/library/aa328774%28v=VS.71%29.aspx

0 голосов
/ 24 июня 2011

File.Copy имеет третий параметр - логический флаг, который указывает, следует ли перезаписывать, если файл уже существует. Поэтому я думаю, File.Copy (f1, f2, true), поэтому делайте что хотите.

http://msdn.microsoft.com/en-us/library/9706cfs5(v=VS.80).aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...