Directory.Exists(Dir)函数未按预期工作

本文关键字:工作 函数 Exists Dir Directory | 更新日期: 2023-09-27 17:57:52

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

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

这是我正在使用的代码:

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

即使磁盘上存在该目录,函数也返回false,并且我得到一个错误。

我有什么东西不见了吗?

Directory.Exists(Dir)函数未按预期工作

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

返回值类型:System.Boolean如果路径引用现有目录false如果目录不存在或出现错误当试图确定指定的文件是否存在时。如果路径为true指现有目录;否则为false。

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

如果您对该目录至少没有只读权限,Exists方法将返回false。

如果在尝试确定指定的文件是否存在。这种情况可能发生引发异常,例如传递具有无效的文件名个字符或字符太多,磁盘出现故障或丢失,或者调用方没有读取该文件的权限。