FileSystemEntry

Das FileSystemEntry-Interface der File and Directory Entries API repräsentiert einen einzelnen Eintrag in einem Dateisystem. Der Eintrag kann eine Datei oder ein Verzeichnis sein (Verzeichnisse werden durch das FileSystemDirectoryEntry-Interface dargestellt). Es enthält Methoden zum Arbeiten mit Dateien – einschließlich Kopieren, Verschieben, Entfernen und Lesen von Dateien – sowie Informationen über eine Datei, auf die es zeigt – einschließlich des Dateinamens und seines Pfads vom Root-Verzeichnis bis zum Eintrag.

Grundlegende Konzepte

FileSystemEntry-Objekte werden nicht direkt erstellt. Stattdessen erhalten Sie ein Objekt, das auf diesem Interface basiert, über andere APIs. Dieses Interface dient als Basisklasse für die FileSystemFileEntry und FileSystemDirectoryEntry-Interfaces, die spezifische Funktionen für Dateisystemeinträge bieten, die Dateien bzw. Verzeichnisse darstellen.

Das FileSystemEntry-Interface enthält Methoden, die Sie erwarten würden, um Dateien und Verzeichnisse zu manipulieren, bietet aber auch eine praktische Methode, um die URL des Eintrags zu erhalten: toURL(). Es führt auch ein neues URL-Schema ein: filesystem:.

Sie können das filesystem:-Schema in Google Chrome verwenden, um alle Dateien und Ordner zu sehen, die im Ursprung Ihrer App gespeichert sind. Verwenden Sie einfach das filesystem:-Schema für das Root-Verzeichnis des Ursprungs der App. Wenn Ihre App z.B. auf http://www.example.com läuft, öffnen Sie filesystem:http://www.example.com/temporary/ in einem Tab. Chrome zeigt eine schreibgeschützte Liste aller Dateien und Ordner an, die im Ursprung Ihrer App gespeichert sind.

Beispiel

Um ein Beispiel dafür zu sehen, wie toURL() funktioniert, siehe die Methodenbeschreibung. Der folgende Codeausschnitt zeigt, wie Sie eine Datei anhand des Namens entfernen können.

js
// Taking care of the browser-specific prefixes.
window.requestFileSystem =
  window.requestFileSystem || window.webkitRequestFileSystem;

// …

// Opening a file system with temporary storage
window.requestFileSystem(
  TEMPORARY,
  1024 * 1024 /*1MB*/,
  (fs) => {
    fs.root.getFile(
      "log.txt",
      {},
      (fileEntry) => {
        fileEntry.remove(() => {
          console.log("File removed.");
        }, onError);
      },
      onError,
    );
  },
  onError,
);

Instanz-Eigenschaften

Dieses Interface bietet die folgenden Eigenschaften.

filesystem Schreibgeschützt

Ein FileSystem-Objekt, das das Dateisystem repräsentiert, in dem sich der Eintrag befindet.

fullPath Schreibgeschützt

Ein String, der den vollständigen, absoluten Pfad vom Root-Verzeichnis des Dateisystems zum Eintrag bereitstellt; er kann auch als ein Pfad betrachtet werden, der relativ zum Root-Verzeichnis ist und mit einem "/"-Zeichen versehen ist.

isDirectory Schreibgeschützt

Ein boolean-Wert, der true ist, wenn der Eintrag ein Verzeichnis darstellt; ansonsten ist er false.

isFile Schreibgeschützt

Ein Boolean, der true ist, wenn der Eintrag eine Datei darstellt. Wenn es keine Datei ist, ist dieser Wert false.

name Schreibgeschützt

Ein String, der den Namen des Eintrags enthält (der letzte Teil des Pfads, nach dem letzten "/"-Zeichen).

Instanz-Methoden

Dieses Interface definiert die folgenden Methoden.

copyTo() Veraltet Nicht standardisiert

Kopiert die Datei oder das Verzeichnis an einen neuen Standort im Dateisystem.

getMetadata() Veraltet Nicht standardisiert

Ruft Metadaten der Datei ab, wie z.B. das Änderungsdatum und die Größe.

getParent()

Gibt ein FileSystemDirectoryEntry zurück, das das übergeordnete Verzeichnis des Eintrags repräsentiert.

moveTo() Veraltet Nicht standardisiert

Verschiebt die Datei oder das Verzeichnis an einen neuen Ort im Dateisystem oder benennt die Datei oder das Verzeichnis um.

remove() Veraltet Nicht standardisiert

Entfernt die angegebene Datei oder das Verzeichnis. Sie können nur Verzeichnisse entfernen, die leer sind.

toURL() Veraltet Nicht standardisiert

Erstellt und gibt eine URL zurück, die den Eintrag identifiziert. Diese URL verwendet das URL-Schema "filesystem:".

Spezifikationen

Specification
File and Directory Entries API
# api-entry

Browser-Kompatibilität

Siehe auch