Files.WalkFileTree Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| WalkFileTree(IPath, IFileVisitor) |
Führt eine Dateistruktur durch. |
| WalkFileTree(IPath, ICollection<FileVisitOption>, Int32, IFileVisitor) |
Führt eine Dateistruktur durch. |
WalkFileTree(IPath, IFileVisitor)
Führt eine Dateistruktur durch.
[Android.Runtime.Register("walkFileTree", "(Ljava/nio/file/Path;Ljava/nio/file/FileVisitor;)Ljava/nio/file/Path;", "", ApiSince=26)]
public static Java.Nio.FileNio.IPath? WalkFileTree(Java.Nio.FileNio.IPath? start, Java.Nio.FileNio.IFileVisitor? visitor);
[<Android.Runtime.Register("walkFileTree", "(Ljava/nio/file/Path;Ljava/nio/file/FileVisitor;)Ljava/nio/file/Path;", "", ApiSince=26)>]
static member WalkFileTree : Java.Nio.FileNio.IPath * Java.Nio.FileNio.IFileVisitor -> Java.Nio.FileNio.IPath
Parameter
- start
- IPath
die Startdatei
- visitor
- IFileVisitor
der Dateibesucher, der für jede Datei aufgerufen werden soll
Gibt zurück
die Startdatei
- Attribute
Hinweise
Führt eine Dateistruktur durch.
Diese Methode funktioniert so, als wäre es gleichbedeutend mit der Auswertung des Ausdrucks: <blockquote>
walkFileTree(start, EnumSet.noneOf(FileVisitOption.class), Integer.MAX_VALUE, visitor)
</blockquote> Mit anderen Worten, es folgt nicht symbolischen Links und besucht alle Ebenen der Dateistruktur.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Gilt für:
WalkFileTree(IPath, ICollection<FileVisitOption>, Int32, IFileVisitor)
Führt eine Dateistruktur durch.
[Android.Runtime.Register("walkFileTree", "(Ljava/nio/file/Path;Ljava/util/Set;ILjava/nio/file/FileVisitor;)Ljava/nio/file/Path;", "", ApiSince=26)]
public static Java.Nio.FileNio.IPath? WalkFileTree(Java.Nio.FileNio.IPath? start, System.Collections.Generic.ICollection<Java.Nio.FileNio.FileVisitOption>? options, int maxDepth, Java.Nio.FileNio.IFileVisitor? visitor);
[<Android.Runtime.Register("walkFileTree", "(Ljava/nio/file/Path;Ljava/util/Set;ILjava/nio/file/FileVisitor;)Ljava/nio/file/Path;", "", ApiSince=26)>]
static member WalkFileTree : Java.Nio.FileNio.IPath * System.Collections.Generic.ICollection<Java.Nio.FileNio.FileVisitOption> * int * Java.Nio.FileNio.IFileVisitor -> Java.Nio.FileNio.IPath
Parameter
- start
- IPath
die Startdatei
- options
- ICollection<FileVisitOption>
Optionen zum Konfigurieren der Traversal
- maxDepth
- Int32
die maximale Anzahl der zu besuchenden Verzeichnisebenen
- visitor
- IFileVisitor
der Dateibesucher, der für jede Datei aufgerufen werden soll
Gibt zurück
die Startdatei
- Attribute
Hinweise
Führt eine Dateistruktur durch.
Diese Methode führt eine Dateistruktur durch, die in einer bestimmten Startdatei verwurzelt ist. Die Dateistruktur-Traversal ist <em>depth-first</em> mit dem angegebenen FileVisitor aufgerufenen Für jede datei gefundene Datei. Die Dateistruktur wird abgeschlossen, wenn alle barrierefreien Dateien in der Struktur besucht wurden, oder eine Besuchsmethode ein Ergebnis von FileVisitResult#TERMINATE TERMINATE. Wenn eine Besuchsmethode aufgrund eines IOExceptionfehlerhaften Fehlers oder einer Laufzeitausnahme beendet wird, wird die Traversal beendet, und der Fehler oder die Ausnahme wird an den Aufrufer dieser Methode weitergegeben.
Für jede Datei wurde versucht, diese java.nio.file.attribute.BasicFileAttributesMethode zu lesen. Wenn die Datei kein Verzeichnis ist, wird die FileVisitor#visitFile visitFile Methode mit den Dateiattributen aufgerufen. Wenn die Dateiattribute aufgrund einer E/A-Ausnahme nicht gelesen werden können, wird die FileVisitor#visitFileFailed visitFileFailed Methode mit der E/A-Ausnahme aufgerufen.
Wenn es sich bei der Datei um ein Verzeichnis handelt und das Verzeichnis nicht geöffnet werden konnte, wird die visitFileFailed Methode mit der E/A-Ausnahme aufgerufen, danach wird die Dateistruktur beim nächsten gleichgeordneten></em-Element> des Verzeichnisses standardmäßig <fortgesetzt.
Wo das Verzeichnis erfolgreich geöffnet wird, werden die Einträge im Verzeichnis und deren <Nachfolger></em> besucht. Wenn alle Einträge besucht wurden oder während der Iteration des Verzeichnisses ein E/A-Fehler auftritt, wird das Verzeichnis geschlossen, und die Methode des Besuchers FileVisitor#postVisitDirectory postVisitDirectory wird aufgerufen. Die Dateistruktur wird dann standardmäßig am nächsten <gleichgeordneten></em-Element> des Verzeichnisses fortgesetzt.
Standardmäßig werden symbolische Verknüpfungen nicht automatisch von dieser Methode gefolgt. Wenn der options Parameter die FileVisitOption#FOLLOW_LINKS FOLLOW_LINKS Option enthält, werden symbolische Verknüpfungen befolgt. Wenn Sie Links folgen und die Attribute des Ziels nicht gelesen werden können, versucht diese Methode, den BasicFileAttributes Link abzurufen. Wenn sie gelesen werden können, wird die visitFile Methode mit den Attributen des Links aufgerufen (andernfalls wird die visitFileFailed Methode wie oben angegeben aufgerufen).
Wenn der options Parameter die FileVisitOption#FOLLOW_LINKS FOLLOW_LINKS Option enthält, verfolgt diese Methode die besuchten Verzeichnisse, sodass Zyklen erkannt werden können. Ein Zyklus tritt auf, wenn ein Eintrag in einem Verzeichnis vorhanden ist, das ein Vorgänger des Verzeichnisses ist. Die Zykluserkennung erfolgt durch Aufzeichnen der java.nio.file.attribute.BasicFileAttributes#fileKey file-key Verzeichnisse oder wenn keine Dateischlüssel verfügbar sind, indem sie die #isSameFile isSameFile Methode aufrufen, um zu testen, ob ein Verzeichnis die gleiche Datei wie ein Vorgänger ist. Wenn ein Zyklus erkannt wird, wird er als E/A-Fehler behandelt, und die FileVisitor#visitFileFailed visitFileFailed Methode wird mit einer Instanz von FileSystemLoopExceptionaufgerufen.
Der maxDepth Parameter ist die maximale Anzahl von Ebenen von Verzeichnissen, die besucht werden sollen. Ein Wert von 0 bedeutet, dass nur die Startdatei besucht wird, es sei denn, der Sicherheits-Manager verweigert. Ein Wert kann Integer#MAX_VALUE MAX_VALUE verwendet werden, um anzugeben, dass alle Ebenen besucht werden sollen. Die visitFile Methode wird für alle Dateien aufgerufen, einschließlich Verzeichnissen, die bei maxDepthgefunden wurden, es sei denn, die grundlegenden Dateiattribute können nicht gelesen werden, in diesem Fall wird die visitFileFailed Methode aufgerufen.
Wenn ein Besucher ein Ergebnis null zurückgibt, NullPointerException wird es ausgelöst.
Wenn ein Sicherheits-Manager installiert ist und den Zugriff auf eine Datei (oder ein Verzeichnis) verweigert, wird er ignoriert, und der Besucher wird für diese Datei (oder das Verzeichnis) nicht aufgerufen.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.