C# Directory.Exists(Dir)函数未按预期工作
在我的代码中,我需要检查目录是否存在,如果不存在,则创建它 不幸的是,即使C# Directory.Exists(Dir)函数未按预期工作,c#,directoryinfo,C#,Directoryinfo,在我的代码中,我需要检查目录是否存在,如果不存在,则创建它 不幸的是,即使Directory.Exists返回false,该目录仍然存在,并且抛出了一个execption 以下是我正在使用的代码: if (!Directory.Exists(emailAttachmentsPath)) { Directory.CreateDirectory(emailAttachmentsPath); } 即使该目录存在于磁盘上,该函数返回false,我得到一个错误 我缺少什么吗?来自MSDN 如果
Directory.Exists
返回false,该目录仍然存在,并且抛出了一个execption
以下是我正在使用的代码:
if (!Directory.Exists(emailAttachmentsPath))
{
Directory.CreateDirectory(emailAttachmentsPath);
}
即使该目录存在于磁盘上,该函数返回false,我得到一个错误
我缺少什么吗?来自MSDN
如果您没有对该目录的最低只读权限,
Exists方法将返回false
如果尝试执行时发生任何错误,Exists方法将返回false
确定指定的文件是否存在。这可能发生在某些情况下
引发异常,例如传递带有无效字符的文件名
字符或字符太多,磁盘出现故障或丢失,或者
调用方没有读取文件的权限
猜一猜,确保
emailAttachmentsPath
不包含文件名。请参见此处:
返回值类型:
系统布尔
如果路径引用现有路径,则为true
目录false如果目录不存在或发生错误
尝试确定指定的文件是否存在时。
如果路径为true
指现有目录;否则,错误
您可以安全地使用
Directory.CreateDirectory
,而无需检查是否存在。它不会覆盖任何内容:“如果目录已经存在,此方法不会创建新目录,但会返回现有目录的DirectoryInfo对象”“引发了哪种类型的异常?猜测一下,存在具有该名称的文件。”。这将导致抛出异常。但是,当然,Directory.Exists()
将返回false。