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

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.

Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.

Die DirectoryEntrySync-Schnittstelle repräsentiert ein Verzeichnis in einem Dateisystem. Sie enthält 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 Standardweg. Verwenden Sie sie nicht mehr. Verwenden Sie stattdessen die File and Directory Entries API.

Grundlegende Konzepte

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, der übergeordnete Verzeichnisse enthält, die noch nicht existieren, erhalten Sie einen Fehler. Erstellen Sie also die Hierarchie, indem Sie rekursiv einen neuen Pfad hinzufügen, nachdem Sie das übergeordnete Verzeichnis erstellt haben.

Beispiel

Die Methode getFile() gibt ein FileEntrySync zurück, das eine Datei im Dateisystem darstellt. Folgendes 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 darstellt. Folgendes 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 darstellt.

Ausnahmen

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

Ausnahme Beschreibung
NOT_FOUND_ERR Das Verzeichnis existiert nicht.
SECURITY_ERR Der Browser hat festgestellt, dass es nicht sicher war, die Metadaten abzurufen. [todo: Erklären, warum]

getFile()

Abhängig davon, 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 zu suchenden oder zu erstellenden Datei. Sie können keine Datei erstellen, deren unmittelbarer Elternknoten 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
Pfad existiert bereits Ein Fehler wird ausgelöst.
create: true
exclusive: false
Pfad existiert nicht und es tritt kein anderer Fehler auf Eine Datei wird erstellt. Wenn bereits eine Datei existiert, tritt kein Fehler auf.
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 jedoch ein Verzeichnis Ein Fehler wird ausgelöst.
Rückgabewert

Ein FileEntrySync-Objekt, das eine Datei in einem Dateisystem darstellt.

Ausnahmen

Diese Methode kann eine 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, bezieht sich 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. Es kann keine weitere mit dem gleichen Pfad erstellt werden.
QUOTA_EXCEEDED_ERROR Die Operation würde dazu führen, dass die Anwendung ihr Speicherkontingent überschreitet.
SECURITY_ERR Die Anwendung hat keine Berechtigung, auf das durch den Pfad referenzierte Element zuzugreifen. [todo: Erklären, warum]
TYPE_MISMATCH_ERR Der angegebene Pfad existiert, aber es ist kein Verzeichnis.

getDirectory()

Erstellt oder sucht ein Verzeichnis. Die Methode ist ähnlich wie 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 zu suchenden oder zu erstellenden Datei. Sie können keine Datei erstellen, deren unmittelbarer Elternknoten nicht existiert. Erstellen Sie zuerst das übergeordnete Verzeichnis.

options

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

Objektliteral Bedingung Ergebnis
create: true
exclusive: true
Pfad existiert bereits Ein Fehler wird ausgelöst.
create: true
exclusive: false
Pfad existiert nicht und es tritt kein anderer Fehler auf Ein Verzeichnis wird erstellt. Wenn bereits eine Datei existiert, tritt kein Fehler auf.
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 jedoch ein Verzeichnis Ein Fehler wird ausgelöst.
Rückgabewert

Ein DirectoryEntrySync-Objekt, das ein Verzeichnis in einem Dateisystem darstellt.

Ausnahmen

Diese Methode kann eine 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, bezieht sich 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. Es kann keine weitere mit dem gleichen Pfad erstellt werden.
QUOTA_EXCEEDED_ERROR Die Operation würde dazu führen, dass die Anwendung ihr Speicherkontingent überschreitet.
SECURITY_ERR Die Anwendung hat keine Berechtigung, auf das durch den Pfad referenzierte Element zuzugreifen. [todo: Erklären, warum]
TYPE_MISMATCH_ERR Der angegebene Pfad existiert, aber es ist kein 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 ein Fehler auftritt, während das Löschen im Gange ist, werden möglicherweise einige der Inhalte nicht gelöscht. Fangen Sie diese Fälle mit Fehler-Callbacks ab und versuchen Sie das Löschen erneut.

Syntax

js
removeRecursively()
Parameter

Keine.

Rückgabewert
undefined
Ausnahmen

Diese Methode kann eine 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 als dem Grund des Gelöschtseins nicht mehr gültig.

[todo: Mehr erklären]

NO_MODIFICATION_ALLOWED_ERR Eines der Folgenden 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 übergeordnetes Verzeichnis oder einige seiner Inhalte zuzugreifen.

Spezifikationen

Diese Funktion ist Teil keiner aktuellen Spezifikation. Sie ist nicht mehr auf dem Weg, ein Standard zu werden. Verwenden Sie stattdessen die File and Directory Entries API.

Browser-Kompatibilität

Siehe auch