Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

DirectoryEntrySync

Deprecated

Avoid using this feature in new projects. This feature may be a candidate for removal from web standards or browsers.

Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.

Die Schnittstelle DirectoryEntrySync repräsentiert ein Verzeichnis in einem Dateisystem. Sie bietet Methoden zum Erstellen, Lesen, Nachschlagen und rekursiven Entfernen von Dateien in einem Verzeichnis.

Warnung: Diese Schnittstelle ist veraltet und wird nicht mehr als Standard weiterentwickelt. Verwenden Sie sie nicht mehr. Verwenden Sie stattdessen die File and Directory Entries API.

Methodenübersicht

Instanzmethoden

createReader()

Erstellt einen neuen DirectoryReaderSync, um Einträge aus diesem Verzeichnis zu lesen.

Syntax

js
createReader()
Parameter

Keine.

Rückgabewert

Ein DirectoryReaderSync-Objekt, das ein Verzeichnis in einem Dateisystem repräsentiert.

Ausnahmen

Diese Methode kann eine DOMException mit einem der folgenden Codes auslösen:

Ausnahme Beschreibung
NOT_FOUND_ERR Das Verzeichnis existiert nicht.
SECURITY_ERR Der Browser hat festgestellt, dass das Nachschlagen der Metadaten nicht sicher ist. [ todo: Grund erläutern ]

getFile()

Je nachdem, wie Sie den Parameter options festgelegt haben, erstellt die Methode entweder eine Datei oder sucht nach einer vorhandenen Datei.

Syntax

js
getFile(path)
getFile(path, options)
Parameter
path

Entweder ein absoluter Pfad oder ein relativer Pfad vom Verzeichnis zu der Datei, die gesucht oder erstellt werden soll. Sie können keine Datei erstellen, deren direkt übergeordnetes Verzeichnis nicht existiert. Erstellen Sie zuerst das übergeordnete Verzeichnis.

options

(Optional) Ein Objektliteral, das das Verhalten der Methode beschreibt. Wenn die Datei nicht existiert, wird sie erstellt.

Objektliteral Bedingung Ergebnis
create: true
exclusive: true
Der Pfad existiert bereits Ein Fehler wird ausgelöst.
create: true
exclusive: false
Der Pfad existiert nicht und es tritt kein anderer Fehler auf Eine Datei wird erstellt. Wenn bereits eine Datei existiert, wird kein Fehler ausgelöst.
create: false
(exclusive wird ignoriert)
Der Pfad existiert Die Datei wird zurückgegeben.
create: false
(exclusive wird ignoriert)
Der Pfad existiert nicht Ein Fehler wird ausgelöst.
create: false
(exclusive wird ignoriert)
Der Pfad existiert, bezeichnet aber ein Verzeichnis Ein Fehler wird ausgelöst.
Rückgabewert

Ein FileEntrySync-Objekt, das eine Datei in einem Dateisystem repräsentiert.

Ausnahmen

Diese Methode kann eine DOMException mit einem der folgenden Codes auslösen:

Ausnahme Beschreibung
ENCODING_ERR Der angegebene Pfad ist ungültig.
NOT_FOUND_ERR Der Pfad ist strukturell korrekt, verweist aber auf eine Ressource, die nicht existiert.
NO_MODIFICATION_ALLOWED_ERR Es liegt ein Berechtigungsproblem vor. Das Zielverzeichnis oder die Zieldatei ist nicht beschreibbar.
PATH_EXISTS_ERR Die Datei existiert bereits. Sie können keine weitere Datei mit demselben Pfad erstellen.
QUOTA_EXCEEDED_ERROR Durch den Vorgang würde die Anwendung ihr Speicherkontingent überschreiten.
SECURITY_ERR Die Anwendung hat keine Berechtigung, auf das durch den Pfad bezeichnete Element zuzugreifen. [ todo: Grund erläutern ]
TYPE_MISMATCH_ERR Der angegebene Pfad existiert, bezeichnet aber kein Verzeichnis.

getDirectory()

Erstellt ein Verzeichnis oder sucht nach einem vorhandenen Verzeichnis. Die Methode ähnelt getFile(), wobei ein DirectoryEntrySync zurückgegeben wird.

Syntax

js
getDirectory(path)
getDirectory(path, options)
Parameter
path

Entweder ein absoluter Pfad oder ein relativer Pfad vom Verzeichnis zu der Datei, die gesucht oder erstellt werden soll. Sie können keine Datei erstellen, deren direkt übergeordnetes Verzeichnis nicht existiert. Erstellen Sie zuerst das übergeordnete Verzeichnis.

options

(Optional) Ein Objektliteral, das das Verhalten der Methode beschreibt, falls die Datei nicht existiert.

Objektliteral Bedingung Ergebnis
create: true
exclusive: true
Der Pfad existiert bereits Ein Fehler wird ausgelöst.
create: true
exclusive: false
Der Pfad existiert nicht und es tritt kein anderer Fehler auf Ein Verzeichnis wird erstellt. Wenn bereits eine Datei existiert, wird kein Fehler ausgelöst.
create: false
(exclusive wird ignoriert)
Der Pfad existiert Das Verzeichnis wird zurückgegeben.
create: false
(exclusive wird ignoriert)
Der Pfad existiert nicht Ein Fehler wird ausgelöst.
create: false
(exclusive wird ignoriert)
Der Pfad existiert, bezeichnet aber ein Verzeichnis Ein Fehler wird ausgelöst.
Rückgabewert

Ein DirectoryEntrySync-Objekt, das ein Verzeichnis in einem Dateisystem repräsentiert.

Ausnahmen

Diese Methode kann eine DOMException mit einem der folgenden Codes auslösen:

Ausnahme Beschreibung
ENCODING_ERR Der angegebene Pfad ist ungültig.
NOT_FOUND_ERR Der Pfad ist strukturell korrekt, verweist aber auf eine Ressource, die nicht existiert.
NO_MODIFICATION_ALLOWED_ERR Es liegt ein Berechtigungsproblem vor. Das Zielverzeichnis oder die Zieldatei ist nicht beschreibbar.
PATH_EXISTS_ERR Die Datei existiert bereits. Sie können keine weitere Datei mit demselben Pfad erstellen.
QUOTA_EXCEEDED_ERROR Durch den Vorgang würde die Anwendung ihr Speicherkontingent überschreiten.
SECURITY_ERR Die Anwendung hat keine Berechtigung, auf das durch den Pfad bezeichnete Element zuzugreifen. [ todo: Grund erläutern ]
TYPE_MISMATCH_ERR Der angegebene Pfad existiert, bezeichnet aber kein Verzeichnis.

removeRecursively()

Löscht ein Verzeichnis und seinen gesamten Inhalt. Sie können das Stammverzeichnis eines Dateisystems nicht löschen.

Wenn Sie ein Verzeichnis löschen, das eine nicht entfernbare Datei enthält, oder während des Löschvorgangs ein Fehler auftritt, wird möglicherweise ein Teil des Inhalts nicht gelöscht. Fangen Sie solche Fälle mit Fehler-Callbacks ab und versuchen Sie erneut, das Verzeichnis zu löschen.

Syntax

js
removeRecursively()
Parameter

Keine.

Rückgabewert
undefined
Ausnahmen

Diese Methode kann eine DOMException mit einem der folgenden Codes auslösen:

Ausnahme Beschreibung
NOT_FOUND_ERR Das Zielverzeichnis existiert nicht.
INVALID_STATE_ERR Dieses Verzeichnis ist aus einem anderen Grund als seiner Löschung nicht mehr gültig.

[todo: Näher erläutern ]

NO_MODIFICATION_ALLOWED_ERR Mindestens eines der folgenden Elemente ist nicht beschreibbar: das Verzeichnis, sein übergeordnetes Verzeichnis oder ein Teil des Inhalts des Verzeichnisses.
SECURITY_ERR Die Anwendung hat keine Berechtigung, auf das Zielverzeichnis, sein übergeordnetes Verzeichnis oder einen Teil seines Inhalts zuzugreifen.

Beschreibung

Wenn Sie Unterverzeichnisse erstellen möchten, müssen Sie jedes Unterverzeichnis nacheinander erstellen. Wenn Sie versuchen, ein Verzeichnis mit einem vollständigen Pfad zu erstellen, dessen übergeordnete Verzeichnisse noch nicht existieren, erhalten Sie einen Fehler. Erstellen Sie die Hierarchie daher, indem Sie nach dem Erstellen des jeweils übergeordneten Verzeichnisses rekursiv einen neuen Pfad hinzufügen.

Beispiele

Die Methode getFile() gibt ein FileEntrySync zurück, das eine Datei im Dateisystem repräsentiert. Das folgende Beispiel erstellt im Stammverzeichnis eine leere Datei namens logs.txt.

js
const fileEntry = fs.root.getFile("logs.txt", { create: true });

Die Methode getDirectory() gibt ein DirectoryEntrySync zurück, das eine Datei im Dateisystem repräsentiert. Das folgende Beispiel erstellt im Stammverzeichnis ein neues Verzeichnis namens project_dir.

js
const dirEntry = fs.root.getDirectory("project_dir", { create: true });

Spezifikationen

Dieses Feature ist nicht Teil einer aktuellen Spezifikation. Es wird nicht mehr als Standard weiterentwickelt. Verwenden Sie stattdessen die File and Directory Entries API.

Browser-Kompatibilität

Siehe auch