FileSystemFileEntry

Experimental

これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

File System APIFileSystemFileEntry インターフェイスは、ファイルシステム内のファイルを表します。
このファイルには、ファイルの属性と、ファイルを読むために使用可能な File オブジェクトを作成する file() メソッドも含まれます。

プロパティ

親インターフェイス FileSystemEntry のプロパティを継承しますが、このインターフェイスに固有のプロパティはありません。

メソッド

file()
ファイルの読み込みに使用できる新しい FileWriter オブジェクトを作成します。

廃止されたメソッド

createWriter() これは廃止された API であり、動作は保証されていません。
新しい FileWriter オブジェクトを作成し、ファイルシステムエントリで表されるファイルに書き込むことができます。

基本のコンセプト

コンテンツをファイルに書き込むには、createWriter() を呼び出して FileWriter オブジェクトを作成します。 ファイルを読み込むには、file() を呼び出すことによってその内容を表す File オブジェクトを取得します。

以下のコードは "log.txt" という空のファイルを (存在しない場合は) 作成し、"Meow" というテキストで埋めています。success コールバックの内部では、error errorwriteend イベントを処理するためのイベントハンドラが設定されています。テキストデータは、Blob を作成してテキストを付加し、FileWriter.write() に渡すことでファイルに書き込まれます。

function onInitFs(fs) {
  fs.root.getFile('log.txt', {create: true}, function(fileEntry) {

    // FileSystemFileEntry (log.txt) 用の FileWriter オブジェクトを作成します。
    fileEntry.createWriter(function(fileWriter) {
      fileWriter.onwriteend = function(e) {
        console.log('Write completed.');
      };

      fileWriter.onerror = function(e) {
        console.log('Write failed: ' + e.toString());
      };

      // 新しい Blob を作成して log.txt に書き込みます。
      var bb = new BlobBuilder();
      bb.append('Meow');

      fileWriter.write(bb.getBlob('text/plain'));
    }, errorHandler);

  }, errorHandler);

}

window.requestFileSystem(window.TEMPORARY, 1024*1024, onInitFs, errorHandler);

仕様

仕様書 策定状況 備考
File and Directory Entries API
FileSystemFileEntry の定義
ドラフト 提案された API のドラフト

ブラウザの互換性

BCD tables only load in the browser

あわせて参照