FileSystemFileEntry

非標準
この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

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

これは非標準の API なので、仕様が標準化されていないため、すべてのブラウザで実装されているわけではなく、実装するブラウザのほんの一部しか実装できないことに注意してください。詳細については Browser compatibility セクションを確認してください。

プロパティ

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

メソッド

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

廃止されたメソッド

createWriter()
新しい FileWriter オブジェクトを作成し、ファイルシステムエントリで表されるファイルに書き込むことができます。

基本のコンセプト

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

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

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

    // Create a FileWriter object for our FileSystemFileEntry (log.txt).
    fileEntry.createWriter(function(fileWriter) {
      fileWriter.onwriteend = function(e) {
        console.log('Write completed.');
      };

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

      // Create a new Blob and write it to 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 ドラフト 提案された API のドラフト

この API には、公式の W3C または WHATWG 仕様はありません。

ブラウザの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
FileSystemFileEntry
非標準
Chrome 完全対応 13
接頭辞付き
完全対応 13
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge 未対応 なし
補足
未対応 なし
補足
補足 Edge implements this interface as part of the WebKitEntry interface, which is its name for FileSystemEntry.
Firefox 完全対応 50IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 完全対応 あり
接頭辞付き
完全対応 あり
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Chrome Android 完全対応 あり
接頭辞付き
完全対応 あり
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Firefox Android 完全対応 50Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android ?
createWriter
非推奨非標準
Chrome 完全対応 13Edge 未対応 なしFirefox 未対応 50 — 52
補足
未対応 50 — 52
補足
補足 While the createWriter() method existed, it immediately called errorCallback with the NS_ERROR_DOM_SECURITY_ERR error.
IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 未対応 50 — 52
補足
未対応 50 — 52
補足
補足 While the createWriter() method existed, it immediately called errorCallback with the NS_ERROR_DOM_SECURITY_ERR error.
Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android ?
file
非標準
Chrome 完全対応 13Edge 未対応 なしFirefox 完全対応 50IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 50Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android ?

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
非標準。ブラウザー間の互換性が低い可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
非推奨。新しいウェブサイトでは使用しないでください。
非推奨。新しいウェブサイトでは使用しないでください。
実装ノートを参照してください。
実装ノートを参照してください。
使用するには、ベンダー接頭辞または異なる名前が必要です。
使用するには、ベンダー接頭辞または異なる名前が必要です。

あわせて参照