Используя следующий код, я пытаюсь переписать файл, если он существует. Currenly выбрасывает IOException. Как я могу исправить эту проблему?
File.Copy(filePath, newPath);
Используя следующий код, я пытаюсь переписать файл, если он существует. Currenly выбрасывает IOException. Как я могу исправить эту проблему?
File.Copy(filePath, newPath);
Используйте
File.Copy(filePath, newPath, true);
Третий параметр перезаписывается, поэтому, если вы установите его в true, файл назначения будет перезаписан.
Смотрите: File.Copy в MSDN
Существует перегрузка этой функции, которая содержит третий параметр. Этот параметр называется "перезаписывать". Если вы пройдете true
, пока файл не доступен только для чтения, он будет перезаписан.
Затем вызовите перегрузку
File.Copy(filePath, newPath, true);
Затем используйте другой File.Copy(string, string, boolean)
. Третий параметр указывает, следует ли перезаписывать файл назначения, если он существует (true
, если вы хотите перезаписать, false
в противном случае).
Но что вы ожидали? Если функция предназначена для броска, когда файл назначения существует, вам нужно найти способ решения этой проблемы. Итак, либо:
File.Copy(string, string)
, которая удалит файл назначения для вас, если он существует.Из MSDN вы можете сделать:
File.Copy(filePath, newPath, true);
File.Copy(filePath, newPath, bool overwrite)
делает это.
Это может помочь вам:
Я использую это, и он работает,
File.Copy(src,des,true); //(string source, string destination, bool overwrite)
Ссылка (MSDN): Метод File.Copy(String, String, Boolean)