2013-05-14 58 views
0

我想互換2個文件。我試圖做到這一點,但它不工作。該文件正在替換,但不創建備份文件。你有其他解決方案嗎?我需要互換2個文件C#

File.Replace(newLocation,defualtSource, newLocation); 
+3

嘗試File.Copy,然後File.Move? – 2013-05-14 13:08:52

+2

您對Replace的調用基本上意味着「將defualtSource備份到newLocation,*然後將newLocation複製到defualtSource」,您是否看到此問題? – Patrick 2013-05-14 13:10:45

+0

你真的在傳遞sourceFileName和destinationBackupFileName參數的路徑嗎?如果是這樣,那將解釋問題。您需要爲所有三個參數提供不同的路徑。 – 2013-05-14 13:12:13

回答

2
File.Move("file1.txt", "temp.txt"); 
File.Move("file2.txt", "file1.txt"); 
File.Move("temp.txt", "file2.txt"); 

爲什麼更換不應該工作,但是,我不明白。你確定你正在使用它嗎?

0

如果你想換2個檔,請檢查下面的例子:

 const string file1Folder = "D:\\File1"; 
     const string file1 = "file1.txt"; 
     const string file2Folder = "D:\\File2"; 
     const string file2 = "file2.txt"; 

     var file1Filename = Path.Combine(file1Folder, file1); 
     var file1Destination = Path.Combine(file2Folder, file1); 

     var file2Filename = Path.Combine(file2Folder, file2); 
     var file2Destination = Path.Combine(file1Folder, file2); 

     File.Move(file1Filename, file1Destination); 
     File.Move(file2Filename, file2Destination); 

如果你只是想交換兩個文件,你可以使用File.Replace的文本,檢查例子here