--- title: DirectoryEntrySync slug: Web/API/DirectoryEntrySync translation_of: Web/API/DirectoryEntrySync --- <p>{{APIRef("File System API")}}{{Non-standard_header}}</p> <p><a href="/ja/docs/Web/API/File_and_Directory_Entries_API/Introduction" title="en/DOM/File_API/File_System_API">File System API</a> の <code>DirectoryEntrySync</code> インターフェイスは、ファイルシステム内のディレクトリを表します。ディレクトリ内のファイルの作成、読み込み、検索、および再帰的に削除するためのメソッドが含まれています。</p> <div class="note"> <p>このインターフェイスは放棄されました。これは標準的なトラックにあり、良い考えではありません。もう使用しないでください。</p> </div> <h2 id="このドキュメントについて">このドキュメントについて</h2> <p>このドキュメントは 2012 年 3 月 2 日に最後に更新され、2011 年 4 月 19 日に作成された <a href="http://www.w3.org/TR/file-system-api/">W3C の仕様 (作業中のドラフト)</a> に準拠しています。</p> <p>この仕様はかなり放棄されており、大きな牽引力には達していません。</p> <h2 id="basic_concepts" name="basic_concepts">基本的なコンセプト</h2> <p>サブディレクトリを作成する場合は、順番に各子ディレクトリを作成する必要があります。まだ存在しない親ディレクトリを含むフルパスを使用してディレクトリを作成しようとすると、エラーが発生します。したがって、親ディレクトリを作成した後、新しいパスを再帰的に追加して階層を作成します。</p> <h4 id="example" name="example">例</h4> <p><code>getFile()</code> メソッドは、ファイルシステム内のファイルを表す <code>FileEntrySync</code> を返します。以下は、ルートディレクトリに <code>seekrits.txt</code> という名前の空のファイルを作成します。</p> <pre class="brush: js notranslate">var fileEntry = fs.root.getFile('seekrits.txt', {create: true}); </pre> <p><code>getDirectory()</code> メソッドは、ファイルシステム内のファイルを表す <code>DirectoryEntrySync</code> を返します。以下は、ルートディレクトリに <code>superseekrit</code> という新しいディレクトリを作成します。</p> <pre class="notranslate">var dirEntry = fs.root.getDirectory('superseekrit', {create: true});</pre> <h2 id="メソッド概要">メソッド概要</h2> <table class="standard-table"> <tbody> <tr> <td><code>DirectoryReaderSync <a href="#createReader" title="#createReader">createReader</a> () raises (<a href="/en/DOM/File_API/File_System_API/FileException" title="en/DOM/File_API/File_System_API/FileException">FileException</a>);</code></td> </tr> <tr> <td><code><a href="/en/DOM/File_API/File_System_API/FileEntrySync" title="en/DOM/File_API/File_System_API/FileEntrySync">FileEntrySync</a> <a href="#getFile" title="#getFile">getFile</a> (in DOMString <em>path</em>, in optional Flags <em>options</em>) raises (<a href="/en/DOM/File_API/File_System_API/FileException" title="en/DOM/File_API/File_System_API/FileException">FileException</a>);</code></td> </tr> <tr> <td><code>DirectoryEntrySync <a href="#getDirectory" title="#getDirectory">getDirectory</a> (in DOMString path, in optional Flags <em>options</em>) raises (<a href="/en/DOM/File_API/File_System_API/FileException" title="en/DOM/File_API/File_System_API/FileException">FileException</a>);</code></td> </tr> <tr> <td><code>void <a href="#removeRecursively" title="#removeRecursively">removeRecursively</a> () raises (<a href="/en/DOM/File_API/File_System_API/FileException" title="en/DOM/File_API/File_System_API/FileException">FileException</a>); </code></td> </tr> </tbody> </table> <h2 id="メソッド">メソッド</h2> <h3 id="createReader" name="createReader">createReader()</h3> <p>このディレクトリからエントリを読み込むための新しい <code>DirectoryReaderSync</code> を作成します。</p> <pre class="notranslate">DirectoryReaderSync createReader ( ) raises (<a href="https://developer.mozilla.org/en/DOM/File_API/File_System_API/FileException">FileException</a>);</pre> <h5 id="戻り値">戻り値</h5> <dl> <dt><code><a href="/en/DOM/File_API/File_System_API/DirectoryReaderSync" title="en/DOM/File_API/File_System_API/DirectoryReaderSync">DirectoryReaderSync</a></code></dt> <dd>ファイルシステム内のディレクトリを表します。</dd> </dl> <h5 id="引数">引数</h5> <p>なし</p> <h5 id="例外">例外</h5> <p>このメソッドは、次のコードで FileException が発生する場合があります。</p> <table class="standard-table"> <thead> <tr> <th scope="col">例外</th> <th scope="col">説明</th> </tr> <tr> <td><code>NOT_FOUND_ERR</code></td> <td>ディレクトリが存在しません。</td> </tr> </thead> <tbody> <tr> <td><code>SECURITY_ERR</code></td> <td>ブラウザはメタデータを検索するのは安全ではないと判断しました。[ TODO: 理由を説明してください ]</td> </tr> </tbody> </table> <h3 id="getFile" name="getFile">getFile()</h3> <p><code>options</code> パラメータをどのように設定したかに応じて、このメソッドはファイルを作成するか、既存のファイルを検索します。</p> <pre class="notranslate">void getFile ( in DOMString <em>path</em>, in optional Flags <em>options</em> ) raises (<a href="https://developer.mozilla.org/en/DOM/File_API/File_System_API/FileException">FileException</a>);</pre> <h5 id="パラメータ">パラメータ</h5> <dl> <dt>path</dt> <dd>検索または作成するファイルへのディレクトリからの絶対パスまたは相対パス。直属の親が存在しないファイルを作成することはできません。最初に親ディレクトリを作成してください。</dd> <dt>options</dt> <dd>メソッドの動作を記述するオブジェクトリテラル。ファイルが存在しない場合は作成されます。</dd> </dl> <table class="standard-table"> <thead> <tr> <th scope="col">オブジェクトリテラル</th> <th scope="col">条件</th> <th scope="col">結果</th> </tr> <tr> <td><code>create: true</code><br> <code>exclusive: true</code></td> <td>パスは既に存在する</td> <td>エラーが発生します。</td> </tr> </thead> <tbody> <tr> <td><code>create: true</code><br> <code>exclusive: false</code></td> <td>パスが存在せず、他のエラーが発生しない</td> <td>ファイルが作成されます。ファイルが既に存在する場合は、エラーは発生しません。</td> </tr> <tr> <td><code>create: false</code><br> (<code>exclusive</code> は無視される)</td> <td>パスが存在する</td> <td>ファイルが返されます。</td> </tr> <tr> <td><code>create: false</code><br> (<code>exclusive</code> は無視される)</td> <td>パスが存在しない</td> <td>エラーが発生します。</td> </tr> <tr> <td><code>create: false</code><br> (<code>exclusive</code> は無視される)</td> <td>パスは存在するが、ディレクトリである</td> <td>エラーが発生します。</td> </tr> </tbody> </table> <h5 id="戻り値_2">戻り値</h5> <dl> <dt><a href="/en/DOM/File_API/File_System_API/FileEntrySync" title="en/DOM/File_API/File_System_API/FileEntrySync"><code>FileEntrySync</code></a></dt> <dd>ファイルシステム内のファイルを表します。</dd> </dl> <h5 id="例外_2">例外</h5> <p>このメソッドは、以下のコードで <a href="/ja/docs/Web/API/FileException">FileException</a> が発生する可能性があります。</p> <table class="standard-table"> <thead> <tr> <th scope="col">例外</th> <th scope="col">説明</th> </tr> <tr> <td><code>ENCODING_ERR</code></td> <td>指定されたパスは無効です。</td> </tr> <tr> <td><code>NOT_FOUND_ERR</code></td> <td>パスは構造的には正しいのですが、存在しないリソースを参照しています。</td> </tr> </thead> <tbody> <tr> <td><code>NO_MODIFICATION_ALLOWED_ERR</code></td> <td>これはパーミッションの問題です。対象のディレクトリまたはファイルは書き込み可能ではありません。</td> </tr> <tr> <td><code>PATH_EXISTS_ERR</code></td> <td>ファイルは既に存在しています。同じパスで別のファイルを作成することはできません。</td> </tr> <tr> <td><code>QUOTA_EXCEEDED_ERROR</code></td> <td>この操作により、アプリケーションがストレージのクォータを超えてしまいます。</td> </tr> <tr> <td><code>SECURITY_ERR</code></td> <td>アプリケーションは path で参照される要素にアクセスする権限を持っていません。[ todo: 理由を説明してください ]</td> </tr> <tr> <td><code>TYPE_MISMATCH_ERR</code></td> <td>指定されたパスは存在しますが、ディレクトリではありません。</td> </tr> </tbody> </table> <h3 id="getDirectory" name="getDirectory">getDirectory()</h3> <p>ディレクトリを作成または検索します。このメソッドは DirectoryEntrySync が渡される <code>getFile()</code> に似ています。</p> <pre class="notranslate">void getDirectory ( in DOMString <em>path</em>, in optional Flags <em>options</em> ) raises (<a href="https://developer.mozilla.org/en/DOM/File_API/File_System_API/FileException">FileException</a>);</pre> <h5 id="Parameter">Parameter</h5> <dl> <dt>path</dt> <dd>検索または作成するファイルへのディレクトリからの絶対パスまたは相対パス。直属の親が存在しないファイルを作成することはできません。最初に親ディレクトリを作成してください。</dd> <dt>options</dt> <dd>ファイルが存在しない場合のメソッドの動作を記述するオブジェクトリテラル。</dd> </dl> <table class="standard-table"> <thead> <tr> <th scope="col">オブジェクトリテラル</th> <th scope="col">条件</th> <th scope="col">結果</th> </tr> <tr> <td><code>create: true</code><br> <code>exclusive: true</code></td> <td>パスは既に存在する</td> <td>エラーが発生します。</td> </tr> </thead> <tbody> <tr> <td><code>create: true</code><br> <code>exclusive: false</code></td> <td>パスが存在せず、他のエラーが発生しない</td> <td>ディレクトリが作成されます。既にファイルが存在する場合はエラーは発生しません。</td> </tr> <tr> <td><code>create: false</code><br> (<code>exclusive</code> は無視される)</td> <td>パスが存在する</td> <td>ディレクトリが返されます。</td> </tr> <tr> <td><code>create: false</code><br> (<code>exclusive</code> は無視される)</td> <td>パスが存在しない</td> <td>エラーが発生します。</td> </tr> <tr> <td><code>create: false</code><br> (<code>exclusive</code> は無視される)</td> <td>パスは存在するが、ディレクトリである</td> <td>エラーが発生します。</td> </tr> </tbody> </table> <h5 id="Returns">Returns</h5> <dl> <dt><a href="/en/DOM/File_API/File_System_API/DirectoryReaderSync" title="en/DOM/File_API/File_System_API/DirectoryReaderSync"><code>DirectoryEntrySync</code></a></dt> <dd>ファイルシステム内のディレクトリを表します。</dd> </dl> <h5 id="Exceptions">Exceptions</h5> <p>このメソッドは、以下のコードで <a href="/ja/docs/Web/API/FileException">FileException</a> が発生する可能性があります。</p> <table class="standard-table"> <thead> <tr> <th scope="col">例外</th> <th scope="col">説明</th> </tr> <tr> <td><code>ENCODING_ERR</code></td> <td>指定されたパスは無効です。</td> </tr> <tr> <td><code>NOT_FOUND_ERR</code></td> <td>パスは構造的には正しいのですが、存在しないリソースを参照しています。</td> </tr> </thead> <tbody> <tr> <td><code>NO_MODIFICATION_ALLOWED_ERR</code></td> <td>これはパーミッションの問題です。対象のディレクトリまたはファイルは書き込み可能ではありません。</td> </tr> <tr> <td><code>PATH_EXISTS_ERR</code></td> <td>ファイルは既に存在しています。同じパスで別のファイルを作成することはできません。</td> </tr> <tr> <td><code>QUOTA_EXCEEDED_ERROR</code></td> <td>この操作により、アプリケーションがストレージのクォータを超えてしまいます。</td> </tr> <tr> <td><code>SECURITY_ERR</code></td> <td>アプリケーションは path で参照される要素にアクセスする権限を持っていません。[ todo: 理由を説明してください ]</td> </tr> <tr> <td><code>TYPE_MISMATCH_ERR</code></td> <td>指定されたパスは存在しますが、ディレクトリではありません。</td> </tr> </tbody> </table> <h3 id="removeRecursively" name="removeRecursively">removeRecursively()</h3> <p>ディレクトリとそのすべての内容を削除します。ファイルシステムのルートディレクトリは削除できません。</p> <p>削除できないファイルを含むディレクトリを削除した場合や、削除中にエラーが発生した場合、内容の一部が削除されないことがあります。このような場合は、エラーコールバックでキャッチし、削除を再試行してください。</p> <pre class="notranslate">void removeRecursively ( ) raises (<a href="https://developer.mozilla.org/en/DOM/File_API/File_System_API/FileException">FileException</a>);</pre> <h5 id="引数_2">引数</h5> <p>なし</p> <h5 id="戻り値_3">戻り値</h5> <p><code>void</code></p> <h5 id="例外_3">例外</h5> <p>このメソッドは、以下のコードで <a href="/ja/docs/Web/API/FileException">FileException</a> が発生する可能性があります。</p> <table class="standard-table"> <thead> <tr> <th scope="col">例外</th> <th scope="col">説明</th> </tr> <tr> <td><code>NOT_FOUND_ERR</code></td> <td>対象となるディレクトリが存在しません。</td> </tr> </thead> <tbody> <tr> <td><code>INVALID_STATE_ERR</code></td> <td> <p>このディレクトリは、削除された以外の何らかの理由で有効でなくなっています。[todo: 説明してください]</p> </td> </tr> <tr> <td><code>NO_MODIFICATION_ALLOWED_ERR</code></td> <td>ディレクトリ、その親ディレクトリ、ディレクトリ内のコンテンツの一部が書き込み不可となります。</td> </tr> <tr> <td><code>SECURITY_ERR</code></td> <td>このアプリケーションは、ターゲットディレクトリ、その親ディレクトリ、またはそのコンテンツの一部にアクセスする権限を持っていません。</td> </tr> </tbody> </table> <h2 id="ブラウザの互換性">ブラウザの互換性</h2> <div> <p>{{Compat("api.DirectoryEntrySync")}}</p> </div> <h2 id="あわせて参照">あわせて参照</h2> <p>仕様書: {{ spec("http://dev.w3.org/2009/dap/file-system/pub/FileSystem/", "File API: Directories and System Specification", "WD") }}</p> <p>リファレンス: <a href="/en/DOM/File_API/File_System_API" title="en/DOM/File_API/File_System_API">File System API</a></p> <p>イントロダクション: <a href="/en/DOM/File_APIs/Filesystem/Basic_Concepts_About_the_Filesystem_API" title="en/DOM/File_APIs/Filesystem/Basic_Concepts_About_the_Filesystem_API">Basic Concepts About the File System API</a></p>