2010-10-27 13 views

risposta

85

Usa

File.Copy(filePath, newPath, true); 

Il terzo parametro è sovrascrivere, quindi se lo si imposta su true verrà sovrascritto il file di destinazione.

See: File.Copy in the MSDN

+4

Per "Caccio galleggiante" Seguo la regola utilizzare sempre loro come parametri nominati per chiarezza File.Copy (filePath, newPath, overwrite: true); – t3dodson

4

quindi utilizzare l'altra File.Copy(string, string, boolean). Il terzo parametro indica se sovrascrivere o meno il file di destinazione se esiste (true se si desidera sovrascrivere, altrimenti false).

Ma cosa ti aspettavi? Se la funzione è progettata per essere lanciata quando esiste il file di destinazione, è necessario trovare un modo per aggirare tale problema. Quindi:

  1. Cerca la documentazione o Intellisense per un sovraccarico che fa ciò che stai chiedendo.
  2. Escluso questo, creare un wrapper attorno a File.Copy(string, string) che cancella il file di destinazione automaticamente.
15

C'è un sovraccarico a questa funzione che contiene un terzo parametro. Questo parametro è chiamato "sovrascrittura". Se si passa true, finché il file non è di sola lettura, verrà sovrascritto.

+4

ottimo punto con l'attributo di sola lettura. – JohnB

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

lo fa.

Problemi correlati