【发布时间】:2009-02-12 12:46:21
【问题描述】:
是否有标准函数来检查指定目录是否有效?
我问的原因是我从用户那里收到一个绝对目录字符串和文件名,我想彻底检查该位置以检查它是否有效。
【问题讨论】:
标签: c# io sanity-check
是否有标准函数来检查指定目录是否有效?
我问的原因是我从用户那里收到一个绝对目录字符串和文件名,我想彻底检查该位置以检查它是否有效。
【问题讨论】:
标签: c# io sanity-check
对于一个文件
File.Exists(string)
对于目录
Directory.Exists(string)
注意:
如果您正在重用一个对象,您应该考虑使用 FileInfo 类与静态 File 类。 File 类的静态方法每次都可能进行不必要的安全检查。
FileInfo - DirectoryInfo - File - Directory
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 类还包含许多可用于验证或操作路径的各种组件的函数。
【讨论】: