3 回答

TA貢獻1809條經驗 獲得超8個贊
做就是了;
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.
}
用于創建FileInfo實例的文件不需要存在。

TA貢獻1911條經驗 獲得超7個贊
您可以從Path.GetInvalidPathChars和GetInvalidFileNameChars獲取無效字符列表,如本問題所述。
如jberger所述,此方法的響應中未包含其他一些字符。有關Windows平臺的更多詳細信息,請查看MSDN 上的命名文件,路徑和命名空間,
正如Micah 指出的那樣,存在Directory.GetLogicalDrives來獲取有效驅動器的列表。

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