10

是否有标准功能来检查指定目录是否有效?

我问的原因是我从用户那里收到一个绝对目录字符串和文件名,我想彻底检查该位置以检查它是否有效。

4

5 回答 5

29

对于一个文件

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
于 2009-02-12T12:51:31.247 回答
9
if(System.IO.File.Exists(fileOrDirectoryPath))
{
    //do stuff
}

这应该可以解决问题!

于 2009-02-12T12:49:03.233 回答
2

如果它不能是一个新目录,你可以检查它是否存在。

看起来您也可以使用 Path.GetInvalidPathChars 检查无效字符。

于 2009-02-12T12:51:08.890 回答
2

您可能还想考虑有效路径本身并不是 100% 有效的。如果用户提供 C:\windows\System32 或 CD 驱动器,则操作系统在尝试写入时可能会引发异常。

于 2009-02-20T14:36:33.023 回答
0

关于检查给定文件或目录是否存在,前面的答案是正确的。Path 类还包含许多可用于验证或操作路径的各种组件的函数。

于 2009-02-12T12:51:06.067 回答