2010-10-27 13 views

Antwort

85

Verwenden

File.Copy(filePath, newPath, true); 

Der dritte Parameter überschreiben, also, wenn Sie es auf true die Zieldatei gesetzt werden überschrieben.

See: File.Copy in the MSDN

+4

für "floating bools" Ich habe die Regel folgen immer zu verwenden, sie als benannte Parameter für Klarheit File.Copy (filePath, newPath, überschreiben: wahr); – t3dodson

4

Dann wird die andere File.Copy(string, string, boolean) verwenden. Der dritte Parameter gibt an, ob die Zieldatei überschrieben werden soll, falls sie existiert (true wenn Sie überschreiben möchten, andernfalls false).

Aber was haben Sie erwartet? Wenn die Funktion so entworfen wurde, dass sie ausgelöst wird, wenn die Zieldatei existiert, müssen Sie einen Weg finden, um dieses Problem zu umgehen. Also entweder:

  1. Durchsuchen Sie die Dokumentation oder Intellisense für eine Überladung, die das tut, was Sie fragen. Erstellen Sie einen Wrapper um File.Copy(string, string), der die Zieldatei für Sie löscht, falls sie existiert.
15

eine Überlastung dieser Funktion gibt es, die einen dritten Parameter enthält. Dieser Parameter wird "Überschreiben" genannt. Wenn Sie true übergeben, wird die Datei überschrieben, solange die Datei nicht schreibgeschützt ist.

+4

sehr guter Punkt mit dem Read-Only-Attribut. – JohnB

2
File.Copy(filePath, newPath, bool overwrite) 

tut es.

Verwandte Themen