2009-09-29 115 views
2

我正在编写一些代码来访问目录并为它找到的文件建立索引。用户可以输入UNC路径并模拟另一个用户访问该目录。我正在使用Directory.Exists在尝试访问它之前查看它们输入的路径是否有效。Directory.Exists - 拒绝访问的UNC路径C#

这适用于本地路径,但尝试访问我知道我无权访问的UNC路径时,Directory.Exists返回true。

我的理解是,Directory.Exists不会检查特定路径是否可以被“访问”,只要它存在与否。

还有什么可以用来检查一个目录是否存在,我有读取权限?

此时我不知道目录中的任何文件名。

谢谢!

回答

2

为什么不简单地尝试通过枚举文件来执行索引,并处理其无法访问时产生的异常?即使您访问特定的目录,总有可能无法访问子文件夹或单个文件。

0

有趣。我在想\目录\。尽管\目录应该可以,但是\ directory \不会被允许。也可以,因为在我看来'我'会考虑一个bug。文件在目录下。

+0

对我来说,如果你能看到目录但不打开它,那Directory.Exists将返回true。那不是你所看到的吗? – chsh 2009-09-29 19:30:38

+0

@chsh,我同意但对我来说''。目录下的'文件'不应该是可见的,因为它是'下'。是的,我明白了。指向自己。 – kenny 2009-09-29 20:21:44