Maison > développement back-end > C++ > Comment puis-je répertorier les fichiers de manière récursive tout en ignorant les exceptions d'accès en C# ?

Comment puis-je répertorier les fichiers de manière récursive tout en ignorant les exceptions d'accès en C# ?

Mary-Kate Olsen
Libérer: 2025-01-27 23:21:10
original
175 Les gens l'ont consulté

How Can I Recursively List Files While Ignoring Access Exceptions in C#?

Gestion des exceptions d'accès aux fichiers dans Directory.GetFiles()

Lors de l'utilisation de la méthode Directory.GetFiles(), vous pouvez rencontrer une situation dans laquelle certains dossiers ou fichiers du chemin de répertoire spécifié ne sont pas accessibles, provoquant des exceptions et interrompant le processus de liste des fichiers. Pour surmonter cette limitation et continuer à répertorier les fichiers accessibles tout en ignorant les éléments protégés ou inaccessibles, une approche récursive manuelle est recommandée.

La méthode

Directory.GetFiles() prend en charge nativement la récursivité à l'aide du paramètre AllDirectories. Cependant, cette méthode peut ne pas être fiable si l'accès à certains sous-répertoires est refusé, ce qui entraîne l'arrêt brutal du processus. Pour résoudre ce problème, une approche récursive personnalisée est nécessaire.

L'extrait de code fourni montre comment gérer efficacement les exceptions d'accès tout en répertoriant de manière récursive les fichiers dans un répertoire spécifié. Il introduit une nouvelle méthode ApplyAllFiles() qui effectue une recherche récursive personnalisée.

Dans ApplyAllFiles(), le code parcourt chaque fichier du répertoire actuel et appelle le délégué fileAction fourni pour traiter le fichier. Il répertorie ensuite les sous-répertoires du répertoire actuel et tente d'appliquer la même méthode ApplyAllFiles() à chaque sous-répertoire.

Si une exception est rencontrée lors de la tentative d'accès à un sous-répertoire, le code avalera silencieusement l'exception, garantissant que le processus continue de répertorier les fichiers accessibles sans interruption.

En adoptant cette approche, les développeurs peuvent répertorier efficacement les fichiers dans un répertoire tout en ignorant les dossiers ou fichiers inaccessibles. Il permet une manipulation plus puissante de la liste de fichiers, en particulier lorsque différents sous-répertoires ont des droits d'accès différents.

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!

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