DirectoryEntrySync

このロケールの翻訳が存在しないため、英語バージョンのコンテンツを表示しています。 Help us translate this article!

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

File System APIDirectoryEntrySync インターフェイスは、ファイルシステム内のディレクトリを表します。ディレクトリ内のファイルの作成、読み込み、検索、および再帰的に削除するためのメソッドが含まれています。

このインターフェイスは放棄されました。これは標準的なトラックにあり、良い考えではありません。もう使用しないでください。

このドキュメントについて

このドキュメントは 2012 年 3 月 2 日に最後に更新され、2011 年 4 月 19 日に作成された W3C の仕様 (作業中のドラフト) に準拠しています。

この仕様はかなり放棄されており、大きな牽引力には達していません。

基本的なコンセプト

サブディレクトリを作成する場合は、順番に各子ディレクトリを作成する必要があります。まだ存在しない親ディレクトリを含むフルパスを使用してディレクトリを作成しようとすると、エラーが発生します。したがって、親ディレクトリを作成した後、新しいパスを再帰的に追加して階層を作成します。

getFile() メソッドは、ファイルシステム内のファイルを表す FileEntrySync を返します。以下は、ルートディレクトリに seekrits.txt という名前の空のファイルを作成します。

var fileEntry = fs.root.getFile('seekrits.txt', {create: true});

getDirectory() メソッドは、ファイルシステム内のファイルを表す DirectoryEntrySync を返します。以下は、ルートディレクトリに superseekrit という新しいディレクトリを作成します。

var dirEntry = fs.root.getDirectory('superseekrit', {create: true});

メソッド概要

DirectoryReaderSync createReader () raises (FileException);
FileEntrySync getFile (in DOMString path, in optional Flags options) raises (FileException);
DirectoryEntrySync getDirectory (in DOMString path, in optional Flags options) raises (FileException);
void removeRecursively () raises (FileException);

メソッド

createReader()

このディレクトリからエントリを読み込むための新しい DirectoryReaderSync を作成します。

DirectoryReaderSync createReader (
) raises (FileException);
戻り値
DirectoryReaderSync
ファイルシステム内のディレクトリを表します。
引数

なし

例外

このメソッドは、次のコードでFileExceptionが発生する場合があります。

例外 説明
NOT_FOUND_ERR ディレクトリが存在しません。
SECURITY_ERR The browser determined that it was not safe to look up the metadata. [ todo: Explain why ]

getFile()

Depending on how you've set the options parameter, the method either creates a file or looks up an existing file.

void getFile (
  in DOMString path, in optional Flags options
) raises (FileException);
Parameter
path
Either an absolute path or a relative path from the directory to the file to be looked up or created. You cannot create a file whose immediate parent does not exist. Create the parent directory first.
options
An object literal describing the behavior of the method. If the file does not exist, it is created.
Object literal Condition Result
create: true
exclusive: true
Path already exists An error is thrown.
create: true
exclusive: false
Path doesn't exist and no other error occurs A file is created. If a file already exists, no error is thrown.
create: false
(exclusive is ignored)
Path exists The file is returned.
create: false
(exclusive is ignored)
Path doesn't exist An error is thrown.
create: false
(exclusive is ignored)
Path exists, but is a directory An error is thrown.
Returns
FileEntrySync
Represents a file in a file system.
Exceptions

This method can raise a FileException with the following codes:

Exception Description
ENCODING_ERR The path supplied is invalid.
NOT_FOUND_ERR The path was structurally correct, but refers to a resource that does not exist.
NO_MODIFICATION_ALLOWED_ERR This is a permission issue. The target directory or file is not writable.
PATH_EXISTS_ERR The file already exists. You cannot create another one with the same path.
QUOTA_EXCEEDED_ERROR The operation would cause the application to exceed its storage quota.
SECURITY_ERR The application does not have permission to access the element referred to by path. [ todo: Explain why ]
TYPE_MISMATCH_ERR The path supplied exists, but it is not a directory.

getDirectory()

Creates or looks up a directory. The method is similar to getFile() with DirectoryEntrySync being passed.

void getDirectory (
  in DOMString path, in optional Flags options
) raises (FileException);
Parameter
path
Either an absolute path or a relative path from the directory to the file to be looked up or created. You cannot create a file whose immediate parent does not exist. Create the parent directory first.
options
An object literal describing the behavior of the method if the file does not exist.
Object literal Condition Result
create: true
exclusive: true
Path already exists An error is thrown.
create: true
exclusive: false
Path doesn't exist and no other error occurs A directory is created. If a file already exists, no error is thrown.
create: false
(exclusive is ignored)
Path exists The directory is returned.
create: false
(exclusive is ignored)
Path doesn't exist An error is thrown.
create: false
(exclusive is ignored)
Path exists, but is a directory An error is thrown.
Returns
DirectoryEntrySync
Represents a directory in a file system.
Exceptions

This method can raise a FileException with the following codes:

Exception Description
ENCODING_ERR The path supplied is invalid.
NOT_FOUND_ERR The path was structurally correct, but refers to a resource that does not exist.
NO_MODIFICATION_ALLOWED_ERR This is a permission issue. The target directory or file is not writable.
PATH_EXISTS_ERR The file already exists. You cannot create another one with the same path.
QUOTA_EXCEEDED_ERROR The operation would cause the application to exceed its storage quota.
SECURITY_ERR The application does not have permission to access the element referred to by path. [ todo: Explain why ]
TYPE_MISMATCH_ERR The path supplied exists, but it is not a directory.

removeRecursively()

Deletes a directory and all of its contents. You cannot delete the root directory of a file system.

If you delete a directory that contains a file that cannot be removed or if an error occurs while the deletion is in progress, some of the contents might not be deleted. Catch these cases with error callbacks and retry the deletion.

void removeRecursively (
)  raises (FileException);
引数

なし

Returns

void

Exceptions

This method can raise a FileException with the following codes:

例外 説明
NOT_FOUND_ERR The target directory does not exist.
INVALID_STATE_ERR This directory is not longer valid for some reason other than being deleted.

[todo: Explain more ]

NO_MODIFICATION_ALLOWED_ERR One of the following is not writable: the directory, its parent directory, and some of the content in the directory.
SECURITY_ERR The application does not have permission to access the target directory, its parent, or some of its contents.

ブラウザの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
DirectoryEntrySync
非標準
Chrome 完全対応 13
接頭辞付き
完全対応 13
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 完全対応 37
接頭辞付き
完全対応 37
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Chrome Android 完全対応 18
接頭辞付き
完全対応 18
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Firefox Android 未対応 なしOpera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android ?

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
非標準。ブラウザー間の互換性が低い可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
使用するには、ベンダー接頭辞または異なる名前が必要です。
使用するには、ベンダー接頭辞または異なる名前が必要です。

あわせて参照

仕様書: File API: Directories and System SpecificationWD

リファレンス: File System API

イントロダクション: Basic Concepts About the File System API