Maison > développement back-end > C++ > Comment puis-je récupérer des fichiers en toute sécurité à partir d'un répertoire, en ignorant les sous-répertoires restreints par l'accès?

Comment puis-je récupérer des fichiers en toute sécurité à partir d'un répertoire, en ignorant les sous-répertoires restreints par l'accès?

Linda Hamilton
Libérer: 2025-01-27 23:11:09
original
508 Les gens l'ont consulté

How Can I Safely Retrieve Files from a Directory, Ignoring Access-Restricted Subdirectories?

Récupérez les fichiers en toute sécurité à l'aide de Directory.GetFiles(), en ignorant l'accès aux sous-répertoires restreints

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 :

  • Itération manuelle des sous-répertoires : Au lieu d'utiliser l'option AllDirectories de Directory.GetFiles(), le code parcourt les sous-répertoires un par un. Pour chaque sous-répertoire, il tente de récupérer le fichier tout en gérant les exceptions avec élégance.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal