有没有标准函数可以检查指定目录是否有效?
我之所以这样问,是因为我从用户那里收到了一个绝对目录字符串和文件名,并希望对其进行验证以确保其有效。
我之所以这样问,是因为我从用户那里收到了一个绝对目录字符串和文件名,并希望对其进行验证以确保其有效。
对于一个文件
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来检查无效字符。
您还需要考虑到,仅仅是一个有效的路径本身并不完全有效。如果用户提供了C:\windows\System32,或者是光驱,操作系统在尝试写入时可能会抛出异常。
前面的答案在检查给定文件或目录是否存在方面是正确的。Path类还包含许多有用的函数,可用于验证或操作路径的各个组件。