是否有标准功能来检查指定目录是否有效?
我问的原因是我从用户那里收到一个绝对目录字符串和文件名,我想彻底检查该位置以检查它是否有效。
对于一个文件
File.Exists(string)
对于目录
Directory.Exists(string)
注意:
如果您正在重用一个对象,您应该考虑使用 FileInfo 类与静态 File 类。File 类的静态方法每次都会进行一次可能不必要的安全检查。
FileInfo - DirectoryInfo -文件-目录
FileInfo fi = new FileInfo(fName);
if (fi.Exists)
//Do stuff
或者
DirectoryInfo di = new DirectoryInfo(fName);
if (di.Exists)
//Do stuff
if(System.IO.File.Exists(fileOrDirectoryPath))
{
//do stuff
}
这应该可以解决问题!
如果它不能是一个新目录,你可以检查它是否存在。
看起来您也可以使用 Path.GetInvalidPathChars 检查无效字符。
您可能还想考虑有效路径本身并不是 100% 有效的。如果用户提供 C:\windows\System32 或 CD 驱动器,则操作系统在尝试写入时可能会引发异常。
关于检查给定文件或目录是否存在,前面的答案是正确的。Path 类还包含许多可用于验证或操作路径的各种组件的函数。