我試圖顯示在所選目錄(以及可選的任何子目錄)中找到的所有文件的列表。我遇到的問題是,當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