FileSystemEntry

FileSystemEntry は ファイルとディレクトリーの項目 API のインターフェイスで、ファイルシステム内の単一の項目を表します。項目はファイルでもディレクトリーでも構いません(ディレクトリーは FileSystemDirectoryEntry インターフェイスで表します)。この API には、ファイルを操作するためのメソッド(コピー、移動、削除、読み込みなど)が含まれます。また、また、この API が指すファイルに関する情報(ファイル名、ルートから項目までのパスなど)も含まれます。

基本概念

直接 FileSystemEntry オブジェクトを作成することはありません。代わりに、他の API を使用してこのインターフェイスに基づくオブジェクトを受け取ります。このインターフェイスは、FileSystemFileEntry および FileSystemDirectoryEntry インターフェイスの基底クラスとなっており、それぞれファイルとディレクトリーを表すファイルシステム項目に固有の機能を提供します。

FileSystemEntry インターフェイスには、ファイルやディレクトリーを操作するためのメソッドが記載されていますが、項目の URL を取得するための便利なメソッド、 toURL() も含まれています。また、新しい URL スキーム filesystem: も導入されています。

Google Chrome では、filesystem: スキームを使用することで、アプリのオリジンに含まれるすべてのファイルとフォルダーを確認することができます。アプリのオリジンのルートディレクトリーに filesystem: スキームを使用するだけです。例えば、アプリが http://www.example.com にある場合、filesystem:http://www.example.com/temporary/ をタブで開きます。Chrome はアプリのオリジンに含まれるすべてのファイルとフォルダーの読み取り専用のリストを表示します。

toURL() がどのように動作するのかの例を見るには、このメソッドの説明を参照してください。下記のスニペットは、ファイル名でファイルを除去する方法を示しています。

js
// ブラウザー固有の接頭辞を世話する
window.requestFileSystem =
  window.requestFileSystem || window.webkitRequestFileSystem;

// …

// 一時ストレージを持つファイルシステムを開く
window.requestFileSystem(
  TEMPORARY,
  1024 * 1024 /*1MB*/,
  (fs) => {
    fs.root.getFile(
      "log.txt",
      {},
      (fileEntry) => {
        fileEntry.remove(() => {
          console.log("ファイルが削除されました。");
        }, onError);
      },
      onError,
    );
  },
  onError,
);

インスタンスプロパティ

このインターフェイスには以下のプロパティがあります。

filesystem 読取専用

この項目があるファイルシステムを表す FileSystem オブジェクト。

fullPath 読取専用

ファイルシステムのルートから項目までの完全な絶対パスを指定された文字列。 "/" 文字を先頭につけた、ルートディレクトリーからの相対パスと考えることもできます。

isDirectory 読取専用

論理値。この項目がディレクトリーを表している場合は true、そうでない場合は false となります。

isFile 読取専用

論理値で、その項目がファイルを表している場合は true となります。ファイルでない場合は false です。

name 読取専用

項目の名前(パスの最後の "/" の後の部分)が入った文字列。

インスタンスメソッド

このインターフェイスには以下のメソッドがあります。

copyTo() 非推奨; 非標準

ファイルまたはディレクトリーをファイルシステムの新しい場所にコピーします。

getMetadata() 非推奨; 非標準

ファイルの更新日時やサイズなどのメタデータを取得します。

getParent()

この項目の親ディレクトリーを表す FileSystemDirectoryEntry を返します。

moveTo() 非推奨; 非標準

ファイルまたはディレクトリーをファイルシステム上の新しい場所に移動させるか、ファイルまたはディレクトリーの名前を変更します。

remove() 非推奨; 非標準

指定したファイルまたはディレクトリーを除去されます。削除されるのは空のディレクトリーだけです。

toURL() 非推奨; 非標準

この項目を識別する URL を作成して返します。この URL は URL スキーム "filesystem:" を使用します。

仕様書

Specification
File and Directory Entries API
# api-entry

ブラウザーの互換性

BCD tables only load in the browser

関連情報