J'essaie d'afficher une liste de tous les fichiers trouvés dans le répertoire sélectionné (et éventuellement dans les sous-répertoires). Le problème que j'ai est que quand la méthode GetFiles() rencontre un dossier auquel elle ne peut pas accéder, elle lance une exception et le processus s'arrête. Comment puis-je ignorer cette exception (et ignorer le dossier/fichier protégé) et continuer à ajouter des fichiers accessibles à la liste?Ignorer les dossiers/fichiers lorsque Directory.GetFiles() se voit refuser l'accès
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 {}
Un autre (marqué comme double) question - http://stackoverflow.com/questions/1393178/unauthorizedaccessexception-cannot-resolve-directory-getfiles-failure?noredirect=1 –