DOM

インターフェイス

FileSystemEntry インターフェイス

  編集:2022.02.11 by T.A.
MS(en)

ファイルおよびディレクトリ エントリAPIの FileSystemEntry インターフェイスは、ファイル システム内の単一のエントリを表します。エントリはファイルまたはディレクトリにすることができます(ディレクトリは FileSystemDirectoryEntry インターフェイスで表されます)。これには、ファイルのコピー、移動、削除、読み取りなどのファイルの操作方法と、ファイル名やルートからエントリへのパスなど、ファイルが指すファイルに関する情報が含まれています。

基本概念

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

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

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

プロパティ

このインターフェイスは、次のプロパティを提供します。

FileSystemEntry.filesystem 読取専用
エントリが配置されているファイルシステムを表す FileSystem オブジェクト。
FileSystemEntry.fullPath 読取専用
ファイル システムのルートからエントリまでの完全な絶対パスを提供する USVString オブジェクト。また、ルート ディレクトリを基準にして、先頭に「/」文字を付けたパスと考えることもできます。
FileSystemEntry.isDirectory 読取専用
エントリがディレクトリを表す場合に true となる Boolean 値。そうでなければ、それは false です。
FileSystemEntry.isFile 読取専用
エントリがファイルを表す場合に true となる Boolean 値。ファイルでない場合、この値は false です。
FileSystemEntry.name 読取専用
エントリの名前を含む USVString(パスの最後の部分、最後の「/」文字の後)。
メソッド

このインターフェースは、以下のメソッドを定義します。

FileSystemEntry.copyTo()
ファイルまたはディレクトリをファイル システム上の新しい場所にコピーします。
FileSystemEntry.getMetadata()
変更日やサイズなど、ファイルに関するメタデータを取得します。
FileSystemEntry.getParent()
エントリの親ディレクトリを表す FileSystemDirectoryEntry を返します。
FileSystemEntry.moveTo()
ファイルまたはディレクトリをファイル システム上の新しい場所に移動するか、ファイルまたはディレクトリの名前を変更します。
FileSystemEntry.remove()
指定されたファイルまたはディレクトリを削除します。空のディレクトリのみを削除できます。
FileSystemEntry.toURL()
エントリを識別するURLを作成して返します。このURLは、URLスキーム「filesystem:」を使用します。

toURL() の動作例については、メソッドの説明を参照してください。以下のスニペットは、ファイルを名前で削除する方法を示しています。

// 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*/, function(fs) {
  fs.root.getFile('log.txt', {}, function(fileEntry) {
    fileEntry.remove(function() {
      console.log('File removed.');
    }, onError);
  }, onError);
}, onError);

テスト
HTML:

ここに表示
スクリプト組み込み:



スクリプト:


スクリプト:



表示内容:
表示内容: