Beim Ausführen von Dateisystemvorgängen mit der Methode Directory.GetFiles() kann die Begegnung mit einem nicht zugänglichen Verzeichnis zu einer unerwarteten Ausnahme führen und den Prozess unterbrechen. In diesem Artikel wird eine Lösung untersucht, die es Ihnen ermöglicht, diese geschützten Ordner zu ignorieren und weiterhin zugängliche Dateien aus dem angegebenen Verzeichnis abzurufen.
Das bereitgestellte Code-Snippet versucht, eine Liste der Dateien im ausgewählten Verzeichnis und seinen Unterverzeichnissen abzurufen. Das Vorhandensein eines Ordners, für den das Programm keine Zugriffsrechte hat, kann jedoch eine UnauthorizedAccessException auslösen und den Prozess anhalten.
Um dieses Problem zu lösen, wurde eine alternative Methode eingeführt:
Der geänderte Code verwendet den Delegaten „fileAction“, um eine einzelne Datei zu verarbeiten. Es durchläuft den angegebenen Ordner und ruft „fileAction“ für jede zugängliche Datei auf. Für Unterverzeichnisse wird versucht, denselben Prozess rekursiv anzuwenden. Wenn ein Unterverzeichnis eine Ausnahme auslöst, wird die Ausnahme abgefangen und der Prozess läuft reibungslos weiter.
Durch die Implementierung dieser Strategie kann der Code unzugängliche Ordner effektiv ignorieren und so sicherstellen, dass ohne Unterbrechung eine Liste der zugänglichen Dateien erhalten wird.
Das obige ist der detaillierte Inhalt vonWie kann ich Dateien sicher aus einem Verzeichnis abrufen und auf Zugriff beschränkte Unterverzeichnisse ignorieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!