FileSystemDirectoryEntry

これは実験的な機能です。本番で使用する前にブラウザー実装状況をチェックしてください。

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

基本概念

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);

  }

// 一時記憶装置でファイルシステムを開く
window.requestFileSystem(TEMPORARY, 1024*1024 /*1MB*/, onFs, onError);

プロパティ

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

メソッド

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

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

廃止されたメソッド

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

仕様

仕様書 ステータス コメント
File and Directory Entries API
FileSystemDirectoryEntry の定義
ドラフト

ブラウザの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
FileSystemDirectoryEntry
実験的
Chrome 完全対応 8
代替名
完全対応 8
代替名
代替名 非標準の名前 DirectoryEntry を使用しています。
Edge 完全対応 79
接頭辞付き
完全対応 79
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Firefox 完全対応 50IE 未対応 なしOpera 完全対応 あり
接頭辞付き
完全対応 あり
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari 完全対応 11.1WebView Android 完全対応 ≤37
代替名
完全対応 ≤37
代替名
代替名 非標準の名前 DirectoryEntry を使用しています。
Chrome Android 完全対応 18
代替名
完全対応 18
代替名
代替名 非標準の名前 DirectoryEntry を使用しています。
Firefox Android 完全対応 50Opera Android 未対応 なしSafari iOS 完全対応 11.3Samsung Internet Android 完全対応 1.0
代替名
完全対応 1.0
代替名
代替名 非標準の名前 DirectoryEntry を使用しています。
createReader
実験的
Chrome 完全対応 13Edge 完全対応 79Firefox 完全対応 50IE 未対応 なしOpera 未対応 なしSafari 完全対応 11.1WebView Android 完全対応 ≤37Chrome Android 完全対応 18Firefox Android 完全対応 50Opera Android 未対応 なしSafari iOS 完全対応 11.3Samsung Internet Android 完全対応 1.0
getDirectory
実験的
Chrome 完全対応 8Edge 完全対応 79Firefox 完全対応 50
補足
完全対応 50
補足
補足 In Firefox, the errorCallback's input parameter is a DOMException rather than a FileError object.
IE 未対応 なしOpera 未対応 なしSafari 完全対応 11.1WebView Android 完全対応 ≤37Chrome Android 完全対応 18Firefox Android 完全対応 50
補足
完全対応 50
補足
補足 In Firefox, the errorCallback's input parameter is a DOMException rather than a FileError object.
Opera Android 未対応 なしSafari iOS 完全対応 11.3Samsung Internet Android 完全対応 1.0
getFile
実験的
Chrome 完全対応 8Edge 完全対応 79Firefox 完全対応 50
補足
完全対応 50
補足
補足 In Firefox, the errorCallback's input parameter is a DOMException rather than a FileError object.
IE 未対応 なしOpera 未対応 なしSafari 完全対応 11.1WebView Android 完全対応 ≤37Chrome Android 完全対応 18Firefox Android 完全対応 50
補足
完全対応 50
補足
補足 In Firefox, the errorCallback's input parameter is a DOMException rather than a FileError object.
Opera Android 未対応 なしSafari iOS 完全対応 11.3Samsung Internet Android 完全対応 1.0
removeRecursively
非推奨非標準
Chrome 完全対応 8Edge 完全対応 79Firefox 未対応 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 完全対応 ≤37Chrome Android 完全対応 18Firefox 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 完全対応 1.0

凡例

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

関連情報