Lors de l'exécution d'opérations sur le système de fichiers à l'aide de la méthode Directory.GetFiles(), la rencontre d'un répertoire inaccessible peut provoquer une exception inattendue et interrompre le processus. Cet article explore une solution qui vous permet d'ignorer ces dossiers protégés et de continuer à récupérer les fichiers accessibles à partir du répertoire spécifié.
L'extrait de code fourni tente d'obtenir une liste de fichiers dans le répertoire sélectionné et ses sous-répertoires. Cependant, la présence d'un dossier auquel le programme ne dispose pas de droits d'accès peut déclencher une UnauthorizedAccessException, interrompant le processus.
Pour pallier ce problème, une méthode alternative a été introduite :
Le code modifié utilise le délégué "fileAction" pour gérer un seul fichier. Il parcourt le dossier donné, appelant "fileAction" pour chaque fichier accessible. Pour les sous-répertoires, il tente d'appliquer le même processus de manière récursive. Si un sous-répertoire génère une exception, celle-ci est interceptée et le processus se poursuit sans problème.
En mettant en œuvre cette stratégie, le code peut efficacement ignorer les dossiers inaccessibles, garantissant ainsi l'obtention d'une liste de fichiers accessibles sans aucune interruption.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!