2017-08-31 48 views
1

我有什麼可能是一個不尋常的問題。我的問題是我有一個包含文件名的文件路徑的集合。由於代碼循環訪問該集合,它將接收該字符串並創建一個FileInfo對象。有了這個對象,它就使用MoveTo方法將文件移動到另一個位置。FileInfo無法找到指定的文件異常

這一切都運行良好,直到它到達長度爲零的文件並且說它無法找到該文件。如果我使用此文件並在不同的應用程序中創建FileInfo對象,則它的工作方式與大小無關。有誰知道是什麼造成了這個問題,以及如何解決這個問題?下面

IList<string> files = new List<string >(); 
files.add(file1); 
files.add(file2); 

foreach (string filepath in files) 
{ 
    FileInfo file = new FileInfo (filepath); 
    string newlocation = Path.Combine(dest, file.name); 

    file.MoveTo (newlocation); //exception thrown here on zero length 
} 
+1

的FileInfo不會拋出異常的一個不存在的路徑。在嘗試執行依賴於現有文件的任何操作之前,您需要先使用'Exists'。 – Nkosi

+0

錯過了這一點。存在但它說它沒有。如果你讀了我的筆記,我說我寫了一個測試來檢查它是否移動了文件並且它確實移動了。存在不是這一點。問題是爲什麼它這樣做 – Andy5

+0

只是爲了排除故障也會發生同樣的情況,如果你使用'File.Move' – Nkosi

回答

相關問題