3
我使用Directory.GetFiles()方法獲取要操作的文件列表。例如,當嘗試訪問受保護的文件夾時,此方法會引發UnauthorizedAccessException。我想簡單地跳過這些文件夾並繼續。我怎樣才能完成這與Directory.GetFiles(最好)或其他方法?使Directory.GetFiles()忽略受保護的文件夾
更新:
這裏是引發異常的代碼。我要求用戶選擇一個目錄,然後檢索文件列表。我註釋了遍歷這些文件的代碼(因此現在是整個方法),問題仍然存在。 Directory.GetFiles()行引發異常。
FolderBrowserDialog fbd = new FolderBrowserDialog();
DialogResult dr = fbd.ShowDialog();
if (dr == System.Windows.Forms.DialogResult.Cancel) return;
string directory = fbd.SelectedPath;
string[] files = Directory.GetFiles(directory, "*.html", SearchOption.AllDirectories);
你可以發佈你的代碼嗎?如果檢測到的某個文件被鎖定,`GetFiles`不應該拋出。你確定當你循環播放這些文件並對它們做某些事情時,這個異常不會發生嗎? – 2011-02-14 23:01:06
它是否在GetFiles調用中出錯或者當您嘗試對發現的文件執行某些操作? – 2011-02-14 23:01:08