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 repräsentiert). Es enthält Methoden zum Arbeiten mit Dateien – einschließlich Kopieren, Verschieben, Löschen und Lesen von Dateien – sowie Informationen über eine Datei, auf die es zeigt, einschließlich des Dateinamens und des Pfads von der Wurzel zum Eintrag.

Grundkonzepte

Sie erstellen FileSystemEntry Objekte nicht direkt. Stattdessen erhalten Sie ein auf diesem Interface basierendes Objekt über andere APIs. Dieses Interface dient als Basisklasse für die FileSystemFileEntry und FileSystemDirectoryEntry Interfaces, die jeweils spezifische Funktionen für Dateisystemeinträge bereitstellen, die Dateien und Verzeichnisse darstellen.

Das FileSystemEntry Interface enthält Methoden, die Sie zur Manipulation von Dateien und Verzeichnissen erwarten würden, bietet aber auch eine bequeme Methode zum Abrufen der URL des Eintrags: 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 Stammverzeichnis des Ursprungs der App. Wenn Ihre App zum Beispiel in http://www.example.com ist, ö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 Ihnen, wie Sie eine Datei nach Name 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,
);

Instanzattribute

Dieses Interface stellt die folgenden Attribute bereit.

filesystem Nur lesbar

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

fullPath Nur lesbar

Ein String, der den vollständigen, absoluten Pfad vom Stamm des Dateisystems zum Eintrag bereitstellt; er kann auch als Pfad gedacht werden, der relativ zum Stammverzeichnis mit einem "/" Zeichen vorangestellt ist.

isDirectory Nur lesbar

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

isFile Nur lesbar

Ein Boolean, der true ist, wenn der Eintrag eine Datei darstellt. Wenn es sich nicht um eine Datei handelt, ist dieser Wert false.

name Nur lesbar

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

Instanzmethoden

Dieses Interface definiert die folgenden Methoden.

copyTo() Veraltet Nicht standardisiert

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

getMetadata() Veraltet Nicht standardisiert

Ruft Metadaten über die Datei ab, wie zum Beispiel 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

BCD tables only load in the browser

Siehe auch