blob: 3a5a4cdd03ddb6a19a24dc67180bc8e4b6f623f6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
|
---
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>
|