Widely available すべての主要ブラウザで対応済み。安心して使用可能。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
86
86
111
15.2
109
15.2

FileSystemDirectoryHandle インターフェイスの entries() メソッドは、for...in が提供するのと同じ順序でオブジェクト自身の列挙可能なプロパティの [key, value] ペアの配列を返します。(違いは、for-in ループはプロトタイプチェーン内のプロパティも列挙することです)

86
86
111
15.2
109
15.2

FileSystemDirectoryHandle インターフェイスの getDirectoryHandle() メソッドは、このメソッドが呼ばれたディレクトリーハンドル内の指定した名前のサブディレクトリーを表す FileSystemDirectoryHandle を返します。

86
86
111
15.2
109
15.2

FileSystemDirectoryHandle インターフェイスの getFileHandle() メソッドは、メソッドが呼ばれたディレクトリー内の指定した名前のファイルを表す FileSystemFileHandle を返します。

86
86
111
15.2
109
15.2

FileSystemDirectoryHandle インターフェイスの keys() メソッドは、FileSystemDirectoryHandle 内の各アイテムのキーを含む新しい 配列イテレーター を返します。

86
86
111
15.2
109
15.2

FileSystemDirectoryHandle インターフェイスの removeEntry() メソッドは、指定の名前のファイルまたはディレクトリーがディレクトリーハンドル内に存在する場合、エントリーを削除しようとします。

86
86
111
15.2
109
15.2

FileSystemDirectoryHandle インターフェイスの resolve() メソッドは、親ハンドルから指定の子エントリーへのディレクトリー名の Array を返します。指定された子エントリーが配列の最後の要素になります。

86
86
111
15.2
109
15.2

FileSystemDirectoryHandle インターフェイスの values() メソッドは、FileSystemDirectoryHandle オブジェクト内の各インデックスに対応する値を含む新しい 配列イテレーター を返します。

86
86
111
15.2
109
15.2

File System Access API の FileSystemFileHandle インターフェイスは、ファイルシステムのエントリーのハンドルを表します。このインターフェイスには、window.showOpenFilePicker() メソッドを通じてアクセスします。

86
86
111
15.2
109
15.2

FileSystemFileHandle インターフェイスの createSyncAccessHandle() メソッドは、同期式でファイルを読み書きできる FileSystemSyncAccessHandle オブジェクトで解決する Promise を返します。 このメソッドは同期式であることによりパフォーマンス上有利ですが、それ用の Web Workers によるオリジンプライベートファイルシステム内のファイルの操作にのみ用いることができます。

102
102
111
15.2
109
15.2

FileSystemFileHandle インターフェイスの getFile() メソッドは、ハンドルが表すエントリーのディスク上の状態を表す File オブジェクトで解決する Promise を返します。

86
86
111
15.2
109
15.2

File System Access API の FileSystemHandle インターフェイスは、ファイルまたはディレクトリーのエントリーを表すオブジェクトです。複数のハンドルが同じエントリーを表す可能性もあります。FileSystemHandle を直接扱う場面はほとんどなく、子インターフェイスの FileSystemFileHandle や FileSystemDirectoryHandle を扱うでしょう。

86
86
111
15.2
109
15.2

FileSystemHandle インターフェイスの isSameEntry() メソッドは、2 個のFileSystemHandleを比較し、対応するエントリー (ファイルまたはディレクトリー) が一致するかを確認します。

86
86
111
15.2
109
15.2

FileSystemHandle の読み取り専用プロパティ kind は、エントリーの種類を返します。'file' (対応するエントリーがファイルである場合) または 'directory' が返ります。これは、ディレクトリーの中身について反復するとき、ファイルとディレクトリーを区別するために用いられます。

86
86
111
15.2
109
15.2

FileSystemHandle インターフェイスの読み取り専用プロパティ name は、ハンドルが表すエントリーの名前を返します。

86
86
111
15.2
109
15.2

File System Access API の FileSystemSyncAccessHandle インターフェイスは、ファイルシステムのエントリーを扱う同期式のハンドルを表します。ファイルの読み書きにおける同期式であるという性質は、WebAssembly などの非同期操作が高いオーバーヘッドに繋がる状況における重要なメソッドのパフォーマンスを高めることができます。

102
102
111
15.2
109
15.2

FileSystemSyncAccessHandle インターフェイスの close() メソッドは、開かれている同期式ファイルハンドルを閉じます。これ以降操作はできなくなり、ファイルハンドルに対応するファイルにかけた排他的ロックを解除します。

102
102
111
15.2
109
15.2
close (sync version)

`close()` メソッドの同期的な実装

108
108
111
16.4
109
16.4

FileSystemSyncAccessHandle インターフェイスの flush() メソッドは、ハンドルに対応するファイルに FileSystemSyncAccessHandle.write メソッドにより行われたすべての変更をディスクに保存します。

102
102
111
15.2
109
15.2
flush (sync version)

`flush()` メソッドの同期的な実装

108
108
111
16.4
109
16.4

FileSystemSyncAccessHandle インターフェイスの getSize() メソッドは、ハンドルに対応するファイルのサイズをバイト単位で返します。

102
102
111
15.2
109
15.2
getSize (sync version)

`getSize()` メソッドの同期実装

108
108
111
16.4
109
16.4

FileSystemSyncAccessHandle インターフェイスの read() メソッドは、ハンドルに対応するファイルの内容を指定のバッファーに読み込みます。オフセットを指定することもできます。

102
102
111
15.2
109
15.2

FileSystemSyncAccessHandle インターフェイスの truncate() メソッドは、ハンドルに対応するファイルのサイズを指定のバイト数にします。

102
102
111
15.2
109
15.2
truncate (sync version)

`truncate()` メソッドの同期実装

108
108
111
16.4
109
16.4

FileSystemSyncAccessHandle インターフェイスの write() メソッドは、指定のバッファーの内容をハンドルに対応するファイルに書き込みます。オフセットを指定することもできます。ArrayBuffer の内容を直接操作することはできないことに注意してください。かわりに、バッファーを指定の形式で表す Int8Array などの型付き配列オブジェクトの一つ、または DataView オブジェクトを作成し、それを用いてバッファーの内容を読み書きします。

102
102
111
15.2
109
15.2

StorageManager インターフェイスの getDirectory() メソッドは、オリジンプライベートファイルシステム (OPFS) に保存されたディレクトリーとその中身へのアクセスを可能にする FileSystemDirectoryHandle オブジェクトへの参照を取得するために使用されます。

86
86
111
15.2
109
15.2
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)

実務での使いどころ

  • Origin private file system の活用

    File System Access API の FileSystemDirectoryHandle インターフェイスは、ファイルシステムのディレクトリーへのハンドルを提供します。

注意点

  • 古いブラウザでは対応していない場合がある。

実装メモ

  • 一部の API はセキュアコンテキスト (HTTPS) やユーザー操作起点を必要とする。利用前に要件を確認すること。