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 关注
- 682 浏览
添加回答
举报