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.
Das DirectoryEntrySync
-Interface repräsentiert ein Verzeichnis in einem Dateisystem. Es umfasst Methoden zum Erstellen, Lesen, Suchen und rekursivem Entfernen von Dateien in einem Verzeichnis.
Warnung: Dieses Interface ist veraltet und befindet sich nicht mehr auf dem Standardpfad. Verwenden Sie es 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. Versuchen Sie, ein Verzeichnis mit einem vollständigen Pfad zu erstellen, der noch nicht existierende übergeordnete Verzeichnisse enthält, erhalten Sie einen Fehler. Erstellen Sie die Hierarchie, indem Sie nach der Erstellung des übergeordneten Verzeichnisses rekursiv einen neuen Pfad hinzufügen.
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 });
Überblick über die Methoden
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. [ todo: Erklären warum ] |
getFile()
Abhängig davon, wie Sie den Parameter options
gesetzt 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 zur zu suchenden oder zu erstellenden Datei. Sie können keine Datei erstellen, deren unmittelbares Elternverzeichnis 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 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 jedoch 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, 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. Sie können keine weitere mit dem gleichen Pfad erstellen. |
QUOTA_EXCEEDED_ERROR |
Der Vorgang 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, ist jedoch 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 zu suchenden oder zu erstellenden Datei. Sie können keine Datei erstellen, deren unmittelbares Elternverzeichnis 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 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 jedoch 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, 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. Sie können keine weitere mit dem gleichen Pfad erstellen. |
QUOTA_EXCEEDED_ERROR |
Der Vorgang 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, ist jedoch 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 während des Löschvorgangs auftritt, wird möglicherweise ein Teil des Inhalts nicht gelöscht. Fangen Sie diese Fälle mit Fehler-Callbacks ab und versuchen Sie die Löschung erneut.
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 nicht mehr gültig, als es gelöscht wurde.
[todo: Mehr erklären] |
NO_MODIFICATION_ALLOWED_ERR |
Eines der folgenden ist nicht beschreibbar: das Verzeichnis, sein übergeordnetes Verzeichnis und ein Teil des Inhalts im Verzeichnis. |
SECURITY_ERR |
Die Anwendung hat keine Berechtigung, auf das Zielverzeichnis, sein übergeordnetes Verzeichnis oder einige seiner Inhalte zuzugreifen. |
Spezifikationen
Diese Funktion ist Teil keiner aktuellen Spezifikation. Sie befindet sich nicht mehr auf dem Weg, ein Standard zu werden. Verwenden Sie stattdessen die File and Directory Entries API.
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
DirectoryEntrySync |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- No support
- No support
- Non-standard. Check cross-browser support before using.
- Deprecated. Not for use in new websites.
- Requires a vendor prefix or different name for use.