2

可能重复:
当 Directory.GetFiles() 被拒绝访问时忽略文件夹/文件

我正在编写一个程序,除了所有子目录之外,它还需要从指定路径中查找文件。不幸的是,程序尝试访问的某些文件夹会返回异常,因为访问被拒绝(例如某些系统文件)。我认为在它周围放置一个 try 块会使脚本忽略给出错误的文件夹并继续,但事实证明,任何时候出现异常,即使它被捕获,它也会阻止任何文件被保存到数组。因此,如果要运行它,然后显示数组 filePaths,它仍然会出现空白。有没有办法让打开的文件夹/文件仍然复制到阵列中,同时简单地跳过被阻止的文件夹,而不是跳过整个操作?

public getFiles(string path)
{
    string[] filePaths = {};

    string path_ = path;

    try
    {
        filePaths = Directory.GetFiles(path_,"*.*",SearchOption.AllDirectories);
    }

    catch{}
}
4

0 回答 0