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 DirectoryEntrySync-Schnittstelle repräsentiert ein Verzeichnis in einem Dateisystem. Sie beinhaltet Methoden zum Erstellen, Lesen, Suchen und rekursiven Entfernen von Dateien in einem Verzeichnis.

Warnung: Diese Schnittstelle ist veraltet und befindet sich nicht mehr auf dem Standardpfad. Verwenden Sie sie nicht mehr. Nutzen Sie stattdessen die File and Directory Entries API.

Grundkonzepte

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

Beispiel

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

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

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

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

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 ein DOMException mit den folgenden Codes auslösen:

Ausnahme Beschreibung
NOT_FOUND_ERR Das Verzeichnis existiert nicht.
SECURITY_ERR Der Browser hat festgestellt, dass es unsicher ist, die Metadaten abzurufen. [todo: Warum erläutern]

getFile()

Je nachdem, wie Sie den options-Parameter festgelegt haben, erstellt die Methode entweder eine Datei oder sucht eine vorhandene Datei.

Syntax

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

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

options

(optional) Ein Objekt-Literal, das das Verhalten der Methode beschreibt. Wenn die Datei nicht existiert, wird sie erstellt.

Objekt-Literal Bedingung Ergebnis
create: true
exclusive: true
Pfad existiert bereits Ein Fehler wird ausgelöst.
create: true
exclusive: false
Pfad existiert nicht und kein anderer Fehler tritt auf Eine Datei wird erstellt. Wenn eine Datei bereits existiert, wird kein Fehler ausgelöst.
create: false
(exclusive wird ignoriert)
Pfad existiert Die Datei wird zurückgegeben.
create: false
(exclusive wird ignoriert)
Pfad existiert nicht Ein Fehler wird ausgelöst.
create: false
(exclusive wird ignoriert)
Pfad existiert, ist 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 ein DOMException mit den folgenden Codes auslösen:

Ausnahme Beschreibung
ENCODING_ERR Der angegebene Pfad ist ungültig.
NOT_FOUND_ERR Der Pfad war strukturell korrekt, verweist jedoch auf eine Ressource, die nicht existiert.
NO_MODIFICATION_ALLOWED_ERR Dies ist ein Berechtigungsproblem. Das Zielverzeichnis oder die Datei ist nicht beschreibbar.
PATH_EXISTS_ERR Die Datei existiert bereits. Sie können keine weitere mit demselben Pfad erstellen.
QUOTA_EXCEEDED_ERROR Der Vorgang würde dazu führen, dass die Anwendung ihr Speicherlimit überschreitet.
SECURITY_ERR Die Anwendung hat keine Berechtigung, auf das durch den Pfad angegebene Element zuzugreifen. [todo: Warum erläutern]
TYPE_MISMATCH_ERR Der angegebene Pfad existiert, es handelt sich jedoch nicht um ein Verzeichnis.

getDirectory()

Erstellt oder sucht ein Verzeichnis. Die Methode ist ähnlich zu getFile(), wobei DirectoryEntrySync übergeben wird.

Syntax

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

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

options

(optional) Ein Objekt-Literal, das das Verhalten der Methode beschreibt, wenn die Datei nicht existiert.

Objekt-Literal Bedingung Ergebnis
create: true
exclusive: true
Pfad existiert bereits Ein Fehler wird ausgelöst.
create: true
exclusive: false
Pfad existiert nicht und kein anderer Fehler tritt auf Ein Verzeichnis wird erstellt. Wenn eine Datei bereits existiert, wird kein Fehler ausgelöst.
create: false
(exclusive wird ignoriert)
Pfad existiert Das Verzeichnis wird zurückgegeben.
create: false
(exclusive wird ignoriert)
Pfad existiert nicht Ein Fehler wird ausgelöst.
create: false
(exclusive wird ignoriert)
Pfad existiert, ist 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 ein DOMException mit den folgenden Codes auslösen:

Ausnahme Beschreibung
ENCODING_ERR Der angegebene Pfad ist ungültig.
NOT_FOUND_ERR Der Pfad war strukturell korrekt, verweist jedoch auf eine Ressource, die nicht existiert.
NO_MODIFICATION_ALLOWED_ERR Dies ist ein Berechtigungsproblem. Das Zielverzeichnis oder die Datei ist nicht beschreibbar.
PATH_EXISTS_ERR Die Datei existiert bereits. Sie können keine weitere mit demselben Pfad erstellen.
QUOTA_EXCEEDED_ERROR Der Vorgang würde dazu führen, dass die Anwendung ihr Speicherlimit überschreitet.
SECURITY_ERR Die Anwendung hat keine Berechtigung, auf das durch den Pfad angegebene Element zuzugreifen. [todo: Warum erläutern]
TYPE_MISMATCH_ERR Der angegebene Pfad existiert, es handelt sich jedoch nicht um ein Verzeichnis.

removeRecursively()

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

Wenn Sie ein Verzeichnis löschen, das eine Datei enthält, die nicht entfernt werden kann, oder wenn während des Löschvorgangs ein Fehler auftritt, könnte ein Teil des Inhalts nicht gelöscht werden. Erfassen Sie diese Fälle mit Fehler-Callbacks und versuchen Sie die Löschung erneut.

Syntax

js
removeRecursively()
Parameter

Keine.

Rückgabewert
undefined
Ausnahmen

Diese Methode kann ein DOMException mit den folgenden Codes auslösen:

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

[todo: Mehr erklären]

NO_MODIFICATION_ALLOWED_ERR Eines der folgenden Elemente ist nicht beschreibbar: das Verzeichnis, dessen übergeordnetes Verzeichnis und einige der Inhalte im Verzeichnis.
SECURITY_ERR Die Anwendung hat keine Berechtigung, auf das Zielverzeichnis, dessen Elternverzeichnis oder einige seiner Inhalte zuzugreifen.

Spezifikationen

Diese Funktion ist Teil keiner aktuellen Spezifikation und soll nicht mehr zum Standard werden. Verwenden Sie stattdessen die File and Directory Entries API.

Browser-Kompatibilität

Siehe auch