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

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

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

对于文件

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驱动器,操作系统在尝试写入时可能会抛出exception。

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