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

File and Directory Entries APIFileSystemDirectoryEntry インターフェイスは、ファイルシステム内のディレクトリを表します。これはディレクトリ内のファイルにアクセスして操作する方法と、ディレクトリ内のエントリにアクセスする方法を提供します。

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

基本のコンセプト

getDirectory() を呼び出して新しいディレクトリを作成することができます。サブディレクトリを作成する場合は、各子ディレクトリを順番に作成します。まだ存在しない親ディレクトリを含むフルパスを使用してディレクトリを作成しようとすると、エラーが返されます。したがって、親ディレクトリを作成した後、新しいパスを再帰的に追加して階層を作成します。

次のコードスニペットでは、"Documents" というディレクトリを作成します。

// Taking care of the browser-specific prefixes.
window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem; 
window.directoryEntry = window.directoryEntry || window.webkitDirectoryEntry;

...

function onFs(fs){
  fs.root.getDirectory('Documents', {create:true}, function(directoryEntry){
    //directoryEntry.isFile === false
    //directoryEntry.isDirectory === true
    //directoryEntry.name === 'Documents'
    //directoryEntry.fullPath === '/Documents'
    
    }, onError);

  }

// Opening a file system with temporary storage
window.requestFileSystem(TEMPORARY, 1024*1024 /*1MB*/, onFs, onError);

プロパティ

このインタフェースは独自のプロパティを持ちませんが、親インタフェース FileSystemEntry からプロパティを継承します。

メソッド

このインタフェースは、親インタフェース FileSystemEntry からメソッドを継承します。

createReader()
このディレクトリ内のエントリを読み込むために使用できる FileSystemDirectoryReader オブジェクトを作成します。
getDirectory()
メソッドが呼び出されるディレクトリを基準に、指定されたパスにあるディレクトリを表す FileSystemDirectoryEntry オブジェクトを返します。
getFile()
メソッドが呼び出されるディレクトリに対する相対パスを指定して、ディレクトリの階層内にあるファイルを表す FileSystemFileEntry オブジェクトを返します。

廃止されたメソッド

removeRecursively()
サブディレクトリのコンテンツを含むディレクトリとそのすべてのコンテンツを削除します。これは仕様から削除されました。

仕様

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

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

ブラウザの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
基本対応
非推奨非標準
Chrome 完全対応 13
接頭辞付き
完全対応 13
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge 未対応 なし
補足
未対応 なし
補足
補足 Edge implements the functionality of this interface within the WebKitEntry interface, which is what it calls FileSystemEntry.
Firefox 完全対応 50IE 未対応 なしOpera 完全対応 あり
接頭辞付き
完全対応 あり
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari 未対応 なしWebView Android 完全対応 あり
接頭辞付き
完全対応 あり
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Chrome Android 完全対応 あり
接頭辞付き
完全対応 あり
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge Mobile 完全対応 ありFirefox Android 完全対応 50Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android ?
createReader
実験的非推奨非標準
Chrome 完全対応 13Edge 未対応 なしFirefox 完全対応 50IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile ? Firefox Android 完全対応 50Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android ?
getDirectory
実験的非推奨非標準
Chrome 完全対応 13Edge 未対応 なしFirefox 完全対応 50
補足
完全対応 50
補足
補足 In Firefox, the errorCallback's input parameter is a DOMException rather than a FileError object.
IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile ? Firefox Android 完全対応 50
補足
完全対応 50
補足
補足 In Firefox, the errorCallback's input parameter is a DOMException rather than a FileError object.
Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android ?
getFile
実験的非推奨非標準
Chrome 完全対応 13Edge 未対応 なしFirefox 完全対応 50
補足
完全対応 50
補足
補足 In Firefox, the errorCallback's input parameter is a DOMException rather than a FileError object.
IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile ? Firefox Android 完全対応 50
補足
完全対応 50
補足
補足 In Firefox, the errorCallback's input parameter is a DOMException rather than a FileError object.
Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android ?
removeRecursively
非推奨非標準
Chrome 完全対応 13Edge 未対応 なしFirefox 未対応 50 — 52
補足
未対応 50 — 52
補足
補足 While the removeRecursively() method existed, it immediately called the error callback with NS_ERROR_DOM_SECURITY_ERR.
IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile ? Firefox Android 未対応 50 — 52
補足
未対応 50 — 52
補足
補足 While the removeRecursively() method existed, it immediately called the error callback with NS_ERROR_DOM_SECURITY_ERR.
Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android ?

凡例

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

あわせて参照

ドキュメントのタグと貢献者

このページの貢献者: mdnwebdocs-bot, silverskyvicto
最終更新者: mdnwebdocs-bot,