2015-02-10 76 views
-4

有沒有辦法來驗證有效的路徑/文件名?文件名是已知的,因爲它被提供給客戶。不知道.exe和其他文件放置在哪裏。有沒有驗證有效路徑/文件名的方法?

+0

_你想避免哪一步?整個方法還是隻有一部分?可能是重複的:http://stackoverflow.com/questions/6198392/check-whether-a-path-is-valid – 2015-02-10 14:53:24

+1

你是什麼意思的「正確」?你的意思是它*可能是一個有效的文件名,即它不包含非法字符?或者你的意思是文件確實存在(要記住,這個文件可能隨時改變,所以這不會是正確的方法)? – 2015-02-10 14:54:26

+0

我的意思是路徑可能不正確。此代碼將被其他人使用,並且所需的文件可能位於我的計算機上的不同位置。 – ttom 2015-02-10 14:56:29

回答

1

要檢查文件是否存在於指定的路徑,使用System.IO.File.Exists(string path)

if (File.Exists(pathFileName)) 
{ 
    ... 
} 
else 
{ 
    ... 
} 

要檢查路徑或文件名是否有效(即不包含非法字符),使用System.IO.Path.GetInvalidPathChars()System.IO.Path.GetInvalidFileNameChars()

if (Path.GetInvalidFileNameChars().Any(c => pathFileName.Contains(c))) 
{ 
    ... 
} 
0

由於您試圖驗證路徑是否存在,您應該可以使用System.IO

var path = "..."; 
if(Directory.Exist(path)) 
{ 
    // Valid/Exist 
} 

您也可以通過簡單地使用File.Exist來驗證文件。信息可以在here找到。

path參數可以指定相對或絕對路徑 信息。相對路徑信息被解釋爲相對於當前工作目錄的 。在檢查目錄 是否存在之前,從路徑參數的末尾 中刪除尾部空格。路徑參數不區分大小寫。如果 對目錄的最小隻讀權限不存在,則Exists方法 將返回false。如果在嘗試確定指定文件是否存在時發生任何錯誤 ,則Exists方法返回false。如果發生異常,例如傳遞文件名爲 無效字符或字符過多,磁盤失敗或缺失, 或調用方無權讀取文件,則可能發生此問題 。

相關問題