【发布时间】:2012-08-13 01:00:18
【问题描述】:
我想获取数组中一个目录中的所有文件(包括子文件夹中的文件)
string[] filePaths = Directory.GetFiles(@"c:\",SearchOption.AllDirectories);
这样做的问题是:如果抛出异常,整个命令就会停止。有没有更好的方法来做到这一点,这样如果一个文件夹无法访问,它就会跳过它?
【问题讨论】:
-
从
@"c:\"来看,我认为他是在询问方法调用是否可以完成其工作并获取所有授予访问权限的目录。 -
未重载的
GetFilesmethod shows an example of recursing manually 并且向其添加异常处理并不难。我假设问题出现在无法读取子目录;并且Directory.GetFiles(.., without_recursive_search)将按预期作为特定目录的全有或全无。 -
(虽然,这个例子很简单:结果只是副作用,如果存在递归目录连接或链接,就会发生“坏事”......)
标签: c# file exception directory