C#检查文件目的地是否有效

时间:2009-02-12 12:46:21

标签: c# io sanity-check

是否有标准函数来检查指定的目录是否有效?

我问的原因是我收到了用户的绝对目录字符串和文件名,我想要检查位置以检查它是否有效。

5 个答案:

答案 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类还包含许多函数,可用于验证或操作路径的各个组件。