Directory.Exists(Dir)功能无法按预期工作

时间:2014-04-10 09:25:28

标签: c# directoryinfo

在我的代码中,我需要检查目录是否存在,如果不存在,请创建它。

不幸的是,即使Directory.Exists返回false,该目录仍然存在,并且会抛出一个execption。

这是我正在使用的代码:

if (!Directory.Exists(emailAttachmentsPath))
{
    Directory.CreateDirectory(emailAttachmentsPath);
}

即使该目录存在于磁盘上,该函数也会返回false并出现错误。

我有什么遗失的吗?

感谢 菲利普

2 个答案:

答案 0 :(得分:4)

猜测,确保emailAttachmentsPath不包含文件名。请参阅此处的doc

  

返回值类型:   System.Boolean   如果path指的是现有的,则返回true   目录; false 如果目录不存在发生错误   在尝试确定指定的文件是否存在时。   如果路径是真的   指现有目录;否则,错误。

答案 1 :(得分:1)

来自MSDN http://msdn.microsoft.com/en-us/library/system.io.directory.exists%28v=vs.110%29.aspx

  

如果您没有对目录的最低只读权限,   Exists方法将返回false。

     

如果在尝试时发生任何错误,则Exists方法返回false   确定指定的文件是否存在。这种情况可能发生   引发异常,例如传递带有无效的文件名   字符或字符太多,磁盘失败或丢失,或者是否   调用者没有读取文件的权限。