title | slug | l10n | ||
---|---|---|---|---|
DirectoryEntrySync |
Web/API/DirectoryEntrySync |
|
{{APIRef("File and Directory Entries API")}}{{Non-standard_Header}}{{Deprecated_Header}}
DirectoryEntrySync
インターフェイスは、ファイルシステム内のディレクトリーを表します。ディレクトリー内のファイルの作成、読み込み、検索、および再帰的に削除するためのメソッドが含まれています。
Note
このインターフェイスは非推奨で、標準路線ではなくなりました。 もう使用しないでください。 代わりにファイルおよびディレクトリー項目 APIを使用してください。
サブディレクトリーを作成する場合は、順番に各子ディレクトリーを作成する必要があります。まだ存在しない親ディレクトリーを含むフルパスを使用してディレクトリーを作成しようとすると、エラーが発生します。したがって、親ディレクトリーを作成した後、新しいパスを再帰的に追加して階層を作成します。
getFile()
メソッドは、ファイルシステム内のファイルを表す FileEntrySync
を返します。以下は、ルートディレクトリーに logs.txt
という名前の空のファイルを作成します。
const fileEntry = fs.root.getFile("logs.txt", { create: true });
getDirectory()
メソッドは、ファイルシステム内のファイルを表す DirectoryEntrySync
を返します。以下は、ルートディレクトリーに project_dir
という新しいディレクトリーを作成します。
const dirEntry = fs.root.getDirectory("project_dir", { create: true });
このディレクトリーから項目を読み込むための新しい DirectoryReaderSync
を作成します。
createReader();
DirectoryReaderSync
- : ファイルシステム内のディレクトリーを表します。
なし
このメソッドは、次のコードで {{domxref("DOMException")}} が発生する場合があります。
例外 | 説明 |
---|---|
NOT_FOUND_ERR |
ディレクトリーが存在しません。 |
SECURITY_ERR |
ブラウザーはメタデータを検索するのは安全ではないと判断しました。[ TODO: 理由を説明してください ] |
options
引数をどのように設定したかに応じて、このメソッドはファイルを作成するか、既存のファイルを検索します。
getFile(path)
getFile(path, options)
path
- : 検索または作成するファイルへのディレクトリーからの絶対パスまたは相対パス。直属の親が存在しないファイルを作成することはできません。最初に親ディレクトリーを作成してください。
options
- : メソッドの動作を記述するオブジェクトリテラル。ファイルが存在しない場合は作成されます。
オブジェクトリテラル | 条件 | 結果 |
---|---|---|
create: true exclusive: true |
パスが既に存在する | エラーが発生します。 |
create: true exclusive: false |
パスが存在せず、他のエラーが発生していない | ファイルが作成されます。ファイルが既に存在していれば、エラーが発生しません。 |
create: false ( exclusive は無視)
|
パスが存在する | ファイルが返されます。 |
create: false ( exclusive は無視)
|
パスが存在しない | エラーが発生します。 |
create: false ( exclusive は無視)
|
パスが存在しますが、ディレクトリーです。 | エラーが発生します。 |
FileEntrySync
- : ファイルシステム内のファイルを表します。
このメソッドは、次のコードで {{domxref("DOMException")}} が発生する場合があります。
例外 | 説明 |
---|---|
ENCODING_ERR |
指定されたパスは無効です。 |
NOT_FOUND_ERR |
パスは構造的には正しいのですが、存在しないリソースを参照しています。 |
NO_MODIFICATION_ALLOWED_ERR |
これはパーミッションの問題です。対象のディレクトリーまたはファイルは書き込み可能ではありません。 |
PATH_EXISTS_ERR |
ファイルは既に存在しています。同じパスで別のファイルを作成することはできません。 |
QUOTA_EXCEEDED_ERROR |
この操作により、アプリケーションがストレージのクォータを超えてしまいます。 |
SECURITY_ERR |
アプリケーションは path で参照される要素にアクセスする権限を持っていません。[ todo: 理由を説明してください ] |
TYPE_MISMATCH_ERR |
指定されたパスは存在しますが、ディレクトリーではありません。 |
ディレクトリーを作成または検索します。このメソッドは DirectoryEntrySync が渡される getFile()
に似ています。
getDirectory(path)
getDirectory(path, options)
path
- : 検索または作成するファイルへのディレクトリーからの絶対パスまたは相対パス。直属の親が存在しないファイルを作成することはできません。最初に親ディレクトリーを作成してください。
options
- : (オプション)ファイルが存在しない場合のメソッドの動作を記述するオブジェクトリテラル。
オブジェクトリテラル | 条件 | 結果 |
---|---|---|
create: true exclusive: true |
パスが既に存在する | エラーが発生します。 |
create: true exclusive: false |
パスが存在せず、他のエラーが発生しない | ディレクトリーが作成されます。既にファイルが存在する場合はエラーは発生しません。 |
create: false ( exclusive は無視される)
|
パスが存在する | ディレクトリーが返されます。 |
create: false ( exclusive は無視される)
|
パスが存在しない | エラーが発生します。 |
create: false ( exclusive は無視される)
|
パスが存在するが、ディレクトリーである | エラーが発生します。 |
DirectoryEntrySync
- : ファイルシステム内のディレクトリーを表します。
このメソッドは、次のコードで {{domxref("DOMException")}} が発生する場合があります。
例外 | 説明 |
---|---|
ENCODING_ERR |
指定されたパスは無効です。 |
NOT_FOUND_ERR |
パスは構造的には正しいのですが、存在しないリソースを参照しています。 |
NO_MODIFICATION_ALLOWED_ERR |
これはパーミッションの問題です。対象のディレクトリーまたはファイルは書き込み可能ではありません。 |
PATH_EXISTS_ERR |
ファイルは既に存在しています。同じパスで別のファイルを作成することはできません。 |
QUOTA_EXCEEDED_ERROR |
この操作により、アプリケーションがストレージのクォータを超えてしまいます。 |
SECURITY_ERR |
アプリケーションは path で参照される要素にアクセスする権限を持っていません。[ todo: 理由を説明してください ] |
TYPE_MISMATCH_ERR |
指定されたパスは存在しますが、ディレクトリーではありません。 |
ディレクトリーとそのすべての内容を削除します。ファイルシステムのルートディレクトリーは削除できません。
削除できないファイルを含むディレクトリーを削除した場合や、削除中にエラーが発生した場合、内容の一部が削除されないことがあります。このような場合は、エラーコールバックでキャッチし、削除を再試行してください。
removeRecursively()
なし
{{jsxref('undefined')}}
このメソッドは、次のコードで {{domxref("DOMException")}} が発生する場合があります。
例外 | 説明 |
---|---|
NOT_FOUND_ERR |
対象となるディレクトリーが存在しません。 |
INVALID_STATE_ERR |
このディレクトリーは、削除された以外の何らかの理由で有効ではありません。
[todo: 説明してください ] |
NO_MODIFICATION_ALLOWED_ERR |
ディレクトリー、その親ディレクトリー、ディレクトリー内のコンテンツの一部が書き込み不可です。 |
SECURITY_ERR |
このアプリケーションは、ターゲットディレクトリー、その親ディレクトリー、またはそのコンテンツの一部にアクセスする権限を持っていません。 |
この機能は、現在のどの仕様にも含まれていません。標準化される予定はありません。 代わりにファイルとディレクトリー項目 API を使用してください。
{{Compat}}