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.
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.
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
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
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: trueexclusive: true |
Pfad existiert bereits | Ein Fehler wird ausgelöst. |
create: trueexclusive: 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
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: trueexclusive: true |
Pfad existiert bereits | Ein Fehler wird ausgelöst. |
create: trueexclusive: 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
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.