DirectoryEntrySync
Nicht standardisiert: Diese Funktion ist nicht standardisiert und befindet sich nicht auf dem Weg zur Standardisierung. Verwenden Sie sie nicht auf Produktionsseiten, die dem Web ausgesetzt sind: Sie funktioniert nicht für alle Benutzer. Es kann auch große Inkompatibilitäten zwischen Implementierungen geben, und das Verhalten kann sich in Zukunft ändern.
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, Auffinden 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. Verwenden Sie stattdessen die File and Directory Entries API.
Grundlegende Konzepte
Wenn Sie Unterverzeichnisse erstellen möchten, müssen Sie jedes untergeordnete Verzeichnis nacheinander erstellen. Wenn Sie versuchen, ein Verzeichnis mit einem vollständigen Pfad zu erstellen, der übergeordnete Verzeichnisse enthält, die noch nicht vorhanden sind, 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. Das folgende 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 darstellt. Das folgende 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
DirectoryReaderSync
-
Repräsentiert ein Verzeichnis in einem Dateisystem.
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 ist, die Metadaten abzurufen. |
getFile()
Abhängig davon, wie Sie den Parameter options
eingestellt haben, erstellt die Methode entweder eine Datei oder sucht eine bestehende 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 unmittelbarer Elternordner 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 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, aber ist ein Verzeichnis | Ein Fehler wird ausgelöst. |
Rückgabewert
FileEntrySync
-
Repräsentiert eine Datei in einem Dateisystem.
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, verweist aber 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 Datei mit demselben Pfad erstellen. |
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 verwiesene Element zuzugreifen. |
TYPE_MISMATCH_ERR |
Der angegebene Pfad existiert, ist aber kein Verzeichnis. |
getDirectory()
Erstellt oder sucht ein Verzeichnis. Die Methode ist ähnlich wie 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 unmittelbarer Elternordner 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 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, aber ist ein Verzeichnis | Ein Fehler wird ausgelöst. |
Rückgabewert
DirectoryEntrySync
-
Repräsentiert ein Verzeichnis in einem Dateisystem.
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, verweist aber 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 Datei mit demselben Pfad erstellen. |
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 verwiesene Element zuzugreifen. |
TYPE_MISMATCH_ERR |
Der angegebene Pfad existiert, ist 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 Datei enthält, die nicht entfernt werden kann, oder wenn während des Löschvorgangs ein Fehler auftritt, werden möglicherweise nicht alle Inhalte gelöscht. Fangen Sie diese 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 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 erläutern ] |
NO_MODIFICATION_ALLOWED_ERR |
Eines der folgenden Elemente ist nicht beschreibbar: das Verzeichnis, sein ü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
Dieses Feature ist Teil keiner aktuellen Spezifikation. Es ist nicht mehr auf dem Weg, ein Standard zu werden. Verwenden Sie stattdessen die File and Directory Entries API.
Browser-Kompatibilität
BCD tables only load in the browser