-1

我试过了

if(Directory.Exists(path)) 
    //is directory
else
    //is file

但这并不总是有效。不知道为什么。有任何想法吗?

4

1 回答 1

2

如果在检查过程中发生错误,或者用户没有足够的权限,Directory.ExistsFile.Exists都将返回 false。

来自Directory.Exists的文档

如果您没有对该目录的最低只读权限,则 Exists 方法将返回 false。如果在尝试确定指定文件是否存在时发生任何错误,Exists 方法将返回 false。

来自File.Exists的文档

如果调用者没有足够的权限来读取指定的文件,则不抛出异常,并且无论路径是否存在,该方法都返回 false... Exists 方法在尝试确定指定文件是否存在时如果发生任何错误,则返回 false .

于 2012-09-21T15:41:18.430 回答