繁体   English   中英

在C#中递归搜索目录

[英]Recursively search directories in C#

我需要以递归方式遍历C#中的目录。 我在做类似这样 但是在迭代系统文件夹时抛出异常。 如何在抛出异常之前检查它?

您将不得不检查访问权限,但我希望能够捕获异常,这使得代码更容易理解,并且还会处理其他问题,例如当您想远程解析目录并且网络崩溃时......

如果您为目录树制作GUI,您还可以在其他地方获得访问权限异常和其他错误图标的地方添加一些漂亮的锁定图标...在C#中已经有一个很好的免费开源组件来启动它。

如果要计算文件和大小,则无法克服权限问题,则必须在更高权限的用户下运行工具。

我看了你的链接和代码。 在代码示例中,try ... catch构造用于在到达您没有权限的文件夹时停止搜索。

因此,基于此,我对您的问题的理解可以表达为“如果我没有权限,我怎么能判断我是否有权读取文件夹而不尝试读取文件夹并抛出异常?”

如果是这种情况,那么这篇相关文章可能会对您有所帮助。

检查.NET中的目录和文件写入权限

添加

我同意@jdehaan的回答,但只有在阅读了我发布的链接后才推荐。

你得到什么类型的例外?

如果您收到SecurityException,您应该在MSDN上查看此示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM