Используя следующий код, я пытаюсь переписать файл, если он существует. 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)