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