3 回答

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊
做就是了;
System.IO.FileInfo fi = null;
try {
fi = new System.IO.FileInfo(fileName);
}
catch (ArgumentException) { }
catch (System.IO.PathTooLongException) { }
catch (NotSupportedException) { }
if (ReferenceEquals(fi, null)) {
// file name is not valid
} else {
// file name is valid... May check for existence by calling fi.Exists.
}
用于創(chuàng)建FileInfo實(shí)例的文件不需要存在。

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以從Path.GetInvalidPathChars和GetInvalidFileNameChars獲取無(wú)效字符列表,如本問(wèn)題所述。
如jberger所述,此方法的響應(yīng)中未包含其他一些字符。有關(guān)Windows平臺(tái)的更多詳細(xì)信息,請(qǐng)查看MSDN 上的命名文件,路徑和命名空間,
正如Micah 指出的那樣,存在Directory.GetLogicalDrives來(lái)獲取有效驅(qū)動(dòng)器的列表。

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以使用System.Uri類。Uri類不僅對(duì)Web URL有用,而且還處理文件系統(tǒng)路徑。使用Uri.TryCreate方法查找路徑是否是根目錄,然后使用IsLoopback屬性確定Uri是否引用本地計(jì)算機(jī)。
這是一個(gè)簡(jiǎn)單的方法,可確定字符串是否為有效的,本地的且有根的文件路徑。
public bool IsPathValidRootedLocal(String pathString) {
Uri pathUri;
Boolean isValidUri = Uri.TryCreate(pathString, UriKind.Absolute, out pathUri);
return isValidUri && pathUri != null && pathUri.IsLoopback;
}
我相信這會(huì)奏效。
- 3 回答
- 0 關(guān)注
- 702 瀏覽
添加回答
舉報(bào)