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

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
FileSystemEntry
copyTo
DeprecatedNon-standard
filesystem
fullPath
getMetadata
DeprecatedNon-standard
getParent
isDirectory
isFile
moveTo
DeprecatedNon-standard
name
remove
DeprecatedNon-standard
toURL
DeprecatedNon-standard

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.

関連情報