2014-02-13 63 views
0
string sourcePath = GetValue(key); 

if (!Directory.Exists(@sourcePath)) 
{ 
    throw new Exception("Source path in does not exist"); 
} 

在調試,看着文本可視化文件的sourcePath回報位置:Directory.Exists(文件)不工作

C:\用戶\約翰\桌面\ Sales.dat

即使我知道flie存在,也會拋出異常。我可以在桌面上看到它,如果我將C:\ Users \ John \ Desktop \ Sales.dat粘貼到資源管理器中,則會打開該文件。請指教。

+1

你的路徑指向一個文件,你需要['文件。 Exists'](http://msdn.microsoft.com/en-us/library/system.io.file.exists(v = vs.110)的.aspx) – Habib

回答

5

問題:您正在使用Directory.Exists()方法來檢查文件是否存在。

解決方案:您需要使用File.Exists()方法來檢查文件是否存在。

FROM MSDN:

File.Exists()方法確定指定文件是否存在。

試試這個:

if (!File.Exists(@sourcePath)) 
{ 
    throw new Exception("Source path in does not exist"); 
} 
3

如果您想知道文件是否存在,那麼File.Exists可能會比Directory.Exists更好,它會告訴您目錄是否存在。

0

如果你真的需要使用Directory.Exists()你可以做這樣的事情:

if(!Directory.Exists(new FileInfo(sourcePath).DirectoryName)) 
{ 
    throw new Exception("Source path in does not exist"); 
}