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