我试图显示在所选目录(以及可选的任何子目录)中找到的所有文件的列表。我遇到的问题是,当GetFiles()方法遇到无法访问的文件夹时,它会引发异常并停止进程。当Directory.GetFiles()被拒绝访问时忽略文件夹/文件
如何忽略此异常(并忽略受保护的文件夹/文件)并继续向列表中添加可访问的文件?
try
{
if (cbSubFolders.Checked == false)
{
string[] files = Directory.GetFiles(folderBrowserDialog1.SelectedPath);
foreach (string fileName in files)
ProcessFile(fileName);
}
else
{
string[] files = Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.*", SearchOption.AllDirectories);
foreach (string fileName in files)
ProcessFile(fileName);
}
lblNumberOfFilesDisplay.Enabled = true;
}
catch (UnauthorizedAccessException) { }
finally {}
另一个(标记为重复)的问题 - http://stackoverflow.com/questions/1393178/unauthorizedaccessexception-cannot-resolve-directory-getfiles-failure?noredirect=1 – 2016-04-19 22:30:40