aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/filesystementrysync/index.html
blob: a673fac09db07ca85aa051ab9f344d2edfb087d4 (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
378
379
380
381
382
383
384
385
386
387
---
title: FileSystemEntrySync
slug: Web/API/FileSystemEntrySync
tags:
  - API
  - EntrySync
  - File API
  - File System API
  - File and Directory Entries API
  - FileSystemEntrySync
  - インターフェイス
  - オフライン
  - ファイルシステム
  - リファレンス
  - 非標準
translation_of: Web/API/FileSystemEntrySync
---
<div>{{APIRef("File System API")}}{{Non-standard_header()}}</div>

<p><span class="seoSummary">File and Directory Entries API の<code>FileSystemEntrySync</code> インターフェイスは、ファイルシステム内のエントリを表します。 {{domxref("FileEntrySync")}}{{domxref("DirectoryEntry")}} のいずれかになります。</span> ファイルのコピー、移動、削除、および読み込みを含むファイルの操作方法や、ファイル名やルートからエントリまでのパスなど、それが指すファイルに関する情報が含まれています。</p>

<div class="warning">
<p><strong>警告:</strong> この API は決して受け入れられず、標準化もされませんでした。さまざまなブラウザが <a href="/ja/docs/Web/API/File_and_Directory_Entries_API">File and Directory Entries API</a> (ファイルシステム API とも呼ばれます) を実装していますが、使用を避けるようにしてください。</p>
</div>

<h2 id="basic" name="basic">基本のコンセプト</h2>

<p><code>FileSystemEntrySync</code> インターフェイスには、ファイルやディレクトリの操作に必要なメソッドが含まれていますが、<code><a href="/ja/docs/Web/API/FileSystemEntrySync$translate?tolocale=ja#toURL">toURL()</a></code>というエントリの URL を取得するための便利なメソッドもあります。 また新しい URL スキーム <code>filesystem:</code> を紹介します。</p>

<p>Google Chromeで <code>filesystem:</code> スキームを使用すると、アプリのルートに保存されているすべてのファイルとフォルダを表示できます。 アプリの起源のルートディレクトリに <code>filesystem:</code> スキームを使用するだけです。たとえば、アプリが <code><a class="external external-icon" href="http://ww.html5rocks.com" rel="freelink">http://ww.html5rocks.com</a></code> にある場合は、 <code>filesystem:<a class="external external-icon" href="http://www.html5rocks.com/temporary/" rel="freelink">http://www.html5rocks.com/temporary/</a></code> をタブで開きます。Chrome は、アプリのオリジンに保存されているすべてのファイルとフォルダの読み取り専用リストを表示します。</p>

<h2 id="メソッド概要">メソッド概要</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <td><code>Metadata <a href="#getMetada" title="#getMetada">getMetadata</a> () raises (<a href="/ja/DOM/File_API/File_System_API/FileException" title="en/DOM/File_API/File_System_API/FileException">FileException</a>);</code></td>
  </tr>
  <tr>
   <td><code>FileSystemEntrySync <a href="#moveTo" title="#moveTo">moveTo</a> (in <a href="/ja/DOM/File_API/File_System_API/DirectoryEntrySync" title="en/DOM/File_API/File_System_API/DirectoryEntrySync">DirectoryEntrySync</a> <em>parent</em>, optional DOMString <em>newName</em>) raises (<a href="/ja/DOM/File_API/File_System_API/FileException" title="en/DOM/File_API/File_System_API/FileException">FileException</a>);</code></td>
  </tr>
  <tr>
   <td><code>FileSystemEntrySync <a href="#copyTo" title="#copyTo">copyTo</a>(in <a href="/ja/DOM/File_API/File_System_API/DirectoryEntrySync" title="en/DOM/File_API/File_System_API/DirectoryEntrySync">DirectoryEntrySync</a> <em>parent</em>, optional DOMString <em>newName</em>) raises (<a href="/ja/DOM/File_API/File_System_API/FileException" title="en/DOM/File_API/File_System_API/FileException">FileException</a>);</code></td>
  </tr>
  <tr>
   <td><code>DOMString <a href="#toURL" title="#toURL">toURL</a>();</code></td>
  </tr>
  <tr>
   <td><code>void <a href="#remove" title="#remove">remove</a>() raises (<a href="/ja/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="#getParent" title="#getParent">getParent</a>();</code></td>
  </tr>
 </tbody>
</table>

<h2 id="属性">属性</h2>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">属性</th>
   <th scope="col">タイプ</th>
   <th scope="col">説明</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><a name="attr_filesystem"><code>filesystem</code></a></td>
   <td><code>readonly FileSystemSync</code></td>
   <td>エントリが存在するファイルシステム。</td>
  </tr>
  <tr>
   <td><a id="attr_fullpath" name="fullpath"><code>fullpath</code></a></td>
   <td><code>readonly DOMString</code></td>
   <td>
    <p>ルートからエントリまでの完全な絶対パス。</p>

    <p>絶対パスはルートディレクトリからの相対パスで、先頭に '<code>/</code>' が付きます。</p>
    </td>
  </tr>
  <tr>
   <td><a id="attr_root" name="attr_isDirectory"><code>isDirectory</code></a></td>
   <td><code>readonly boolean</code></td>
   <td>FileSystemEntrySync がディレクトリの場合は True です。</td>
  </tr>
  <tr>
   <td><a id="attr_isfile" name="attr_isfile"><code>isFile</code></a></td>
   <td><code>readonly boolean</code></td>
   <td>FileSystemEntrySync がファイルの場合は True です。</td>
  </tr>
  <tr>
   <td><a id="attr_name" name="attr_name"><code>name</code></a></td>
   <td><code>readonly DOMString</code></td>
   <td>エントリに至るパスを除いたエントリの名前。</td>
  </tr>
 </tbody>
</table>

<h2 id="メソッド">メソッド</h2>

<h3 id="getMetadata" name="getMetadata">getMetadata()</h3>

<p>このエントリに関するメタデータを検索します。 [ todo: どのような種類のメタデータを指定するか]</p>

<pre>Metadata getMetada ()
  raises <code>(<a href="/ja/DOM/File_API/File_System_API/FileException">FileException</a>)</code>;</pre>

<h5 id="引数">引数</h5>

<dl>
 <dt>なし</dt>
</dl>

<h5 id="戻り値">戻り値</h5>

<dl>
 <dt><code>Metadata</code></dt>
</dl>

<h5 id="例外">例外</h5>

<p>このメソッドは、次のコードで <a href="/ja/DOM/File_API/File_System_API/FileException" title="en/DOM/File_API/File_System_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>FileSystemSync は、削除される以外の何らかの理由でもはや有効ではありません。</td>
  </tr>
 </tbody>
</table>

<h3 id="moveTo" name="moveTo">moveTo()</h3>

<p>エントリをファイルシステム上の別の場所に移動します。 既存のファイルにファイルを移動すると、その既存のファイルが置き換えられます。既存の空のディレクトリにディレクトリを移動すると、そのディレクトリが置き換えられます。[todo: ディレクトリが空でない場合はどうなりますか?]</p>

<p>[todo: Verify ] これはファイルの名前を変更するのと同じ方法です。 同じ場所に保持してから、<code>newName</code> パラメータを定義することができます。</p>

<p>次の操作はできません。</p>

<ul>
 <li>ディレクトリ自体を移動するか、任意の深さの任意の子に移動する</li>
 <li>現在のエントリと異なる名前が与えられていない場合は、エントリをその親に移動する</li>
 <li>ファイルをディレクトリが占有しているパスに移動する、またはディレクトリをファイルが占有するパスに移動する</li>
 <li>空でないディレクトリが占めるパスに要素を移動します。</li>
</ul>

<pre>FileSystemEntrySync moveTo (
  in DirectoryEntrySync <em>parent</em>, optional DOMString <em>newName</em>
) raises (<a href="/ja/DOM/File_API/File_System_API/FileException">FileException</a>);</pre>

<h5 id="引数_2">引数</h5>

<dl>
 <dt>parent</dt>
 <dd>エントリを移動するディレクトリ。</dd>
 <dt>newName</dt>
 <dd>エントリの新しい名前。名前を指定しない場合、ブラウザはエントリの現在の名前を保持します。</dd>
</dl>

<h5 id="戻り値_2">戻り値</h5>

<dl>
 <dt><code>FileSystemEntrySync</code></dt>
 <dd>ファイルシステム内のエントリを表すオブジェクト。</dd>
</dl>

<h5 id="例外_2">例外</h5>

<p>このメソッドは、次のコードで <a href="/ja/DOM/File_API/File_System_API/FileException" title="en/DOM/File_API/File_System_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>少なくとも1つの文字が予約されているかイレギュラーなので、指定された名前は無効です。 例には、バックスラッシュ (\)、ドット (.)、および2つのドット (..) が含まれます。</td>
  </tr>
  <tr>
   <td><code>NOT_FOUND_ERR</code></td>
   <td>ターゲットディレクトリが存在しません。</td>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><code>INVALID_MODIFICATION_ERR</code></td>
   <td>
    <p>次のいずれかの操作を試行しました:</p>

    <ul>
     <li>名前を変更せずにエントリを親に移動する</li>
     <li>親ディレクトリをその子ディレクトリの1つに移動する。[todo: verify]</li>
    </ul>
   </td>
  </tr>
  <tr>
   <td><code>NO_MODIFICATION_ALLOWED_ERR</code></td>
   <td>ソースエントリ、その親ディレクトリ、およびターゲットディレクトリのうち、いずれかが書き込み可能ではありません。</td>
  </tr>
 </tbody>
</table>

<h3 id="copyTo" name="copyTo">copyTo()</h3>

<p>エントリをファイルシステム上の別の場所にコピーします。エントリがディレクトリの場合は、そのエントリをコピーすることはできません。また、新しい名前を指定せずに親にコピーすることもできません。ディレクトリコピーは常に再帰的です。つまり、ディレクトリのすべての内容がコピーされます。この動作を変更することはできません。ファイルは単純に複製されます。</p>

<pre>void copyTo (
  in DirectoryEntrySync <em>parent</em>, optional DOMString <em>newName</em>
) raises (<a href="/ja/DOM/File_API/File_System_API/FileException">FileException</a>);</pre>

<h5 id="引数_3">引数</h5>

<dl>
 <dt>parent</dt>
 <dd>エントリを移動するディレクトリ。</dd>
 <dt>newName</dt>
 <dd>エントリの新しい名前。名前を指定しない場合、ブラウザは FileSystemEntrySync の現在の名前を保持します。</dd>
</dl>

<h5 id="戻り値_3">戻り値</h5>

<dl>
 <dt><code>FileSystemEntrySync</code></dt>
 <dd>ファイルシステム内のエントリを表すオブジェクト。</dd>
</dl>

<h5 id="例外_3">例外</h5>

<p>このメソッドは、次のコードで <a href="/ja/DOM/File_API/File_System_API/FileException" title="en/DOM/File_API/File_System_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>少なくとも1つの文字が予約されているかイレギュラーなので、指定された名前は無効です。 例には、バックスラッシュ (\)、ドット (.)、および2つのドット (..) が含まれます。</td>
  </tr>
  <tr>
   <td><code>NOT_FOUND_ERR</code></td>
   <td>ターゲットディレクトリが存在しません。</td>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><code>INVALID_MODIFICATION_ERR</code></td>
   <td>
    <p>次のいずれかの操作を試行しました:</p>

    <ul>
     <li>名前を変更せずにエントリを親に移動する</li>
     <li>親ディレクトリをその子ディレクトリの1つに移動する</li>
    </ul>
   </td>
  </tr>
  <tr>
   <td><code>NO_MODIFICATION_ALLOWED_ERR</code></td>
   <td>ソースエントリ、その親ディレクトリ、およびターゲットディレクトリのうち、いずれかが書き込み可能ではありません。</td>
  </tr>
  <tr>
   <td><code>QUOTA_EXCEEDED_ERR</code></td>
   <td>この操作により、アプリケーションはストレージクォータを超過します。 ユーザーが明示的に付与する必要があるより大きな永続ストレージを要求する可能性があります。詳細については、<a href="/ja/docs/Web/API/File_and_Directory_Entries_API/Introduction">基本概念</a>の記事を参照してください。</td>
  </tr>
 </tbody>
</table>

<h3 id="toURL" name="toURL">toURL()</h3>

<p>このエントリを識別するために使用できるURLを返します。これは  <code>src</code> や <code>href</code> 属性を埋めるために使用できる新しい URL スキーム、 <code>filesystem:</code>を公開しています。たとえば、イメージを表示しその <a class="external external-icon" href="/ja/DOM/File_API/File_System_API/FileEntry" title="en/DOM/File_API/File_System_API/FileEntry">fileEntry</a> を持つ場合、 <code>toURL()</code> を呼び出すと、イメージファイルのファイルシステムURLが得られます。<br>
 あなたは <code>filesystem:<a class="external external-icon" href="http://example.com/temporary/lolcat.png" rel="freelink">http://example.com/temporary/lolcat.png</a></code> のようなものを手に入れます。</p>

<p>ファイルシステムの URL の有効期限はありません。このメソッドはディスク上の場所を記述しているため、URL はその場所が存在する限り有効です。あなたはファイルを削除して再作成することができます。</p>

<p><code>mimeType</code> を指定すると、HTTP ダウンロードに関連付けられているオプションの MIME タイプヘッダーをシミュレートできます。</p>

<pre>DOMString toURL ();</pre>

<h5 id="引数_4">引数</h5>

<dl>
 <dt>なし</dt>
</dl>

<h5 id="戻り値_4">戻り値</h5>

<dl>
 <dt><code>DOMString</code></dt>
</dl>

<h5 id="例外_4">例外</h5>

<p>なし</p>

<h3 id="remove" name="remove">remove()</h3>

<p>ファイルまたはディレクトリを削除します。 空のディレクトリやファイルシステムのルートディレクトリは削除できません。 空のディレクトリを削除する場合は、代わりに <a href="/ja/docs/Web/API/DirectoryEntrySync#removeRecursively()" rel="internal" title="https://developer.mozilla.org/en/DOM/File_API/File_System_API/DirectoryEntrySync#removeRecursively()"><code>removeRecursively()</code></a> を使用してください。</p>

<pre>void remove (
) raises (<a href="/ja/DOM/File_API/File_System_API/FileException">FileException</a>);</pre>

<h5 id="引数_5">引数</h5>

<p>なし</p>

<h5 id="戻り値_5">戻り値</h5>

<dl>
 <dt><code>void</code></dt>
</dl>

<h5 id="例外_5">例外</h5>

<p>このメソッドは、次のコードと <a href="/ja/docs/Web/API/FileException" title="en/DOM/File_API/File_System_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_MODIFICATION_ERR</code></td>
   <td>
    <p>空でないディレクトリを削除しようとしました。 空のディレクトリを削除する場合は、代わりに<a href="/ja/docs/Web/API/DirectoryEntrySync#removeRecursively()" title="https://developer.mozilla.org/en/DOM/File_API/File_System_API/DirectoryEntrySync#removeRecursively()"><code>removeRecursively()</code></a> を使用してください。</p>
   </td>
  </tr>
  <tr>
   <td><code>NO_MODIFICATION_ALLOWED_ERR</code></td>
   <td>ソースエントリ、その親ディレクトリ、およびターゲットディレクトリのうち、いずれかが書き込み可能ではありません。</td>
  </tr>
 </tbody>
</table>

<h3 id="getParent" name="getParent">getParent()</h3>

<p>エントリを含む親 <a href="/ja/docs/Web/API/DirectoryEntrySync" title="https://developer.mozilla.org/en/DOM/File_API/File_System_API/DirectoryEntrySync"><code>DirectoryEntrySync</code></a> を調べます。このエントリがファイルシステムのルートである場合、親はそれ自身です。</p>

<pre>void getParent ();</pre>

<h5 id="引数_6">引数</h5>

<p>なし</p>

<h5 id="戻り値_6">戻り値</h5>

<dl>
 <dt><code><a href="/ja/DOM/File_API/File_System_API/DirectoryEntrySync" title="en/DOM/File_API/File_System_API/DirectoryEntrySync">DirectoryEntrySync</a></code></dt>
 <dd>ファイルシステム内のディレクトリを表すオブジェクト。</dd>
</dl>

<h5 id="例外_6">例外</h5>

<p>なし</p>

<h2 id="ブラウザの互換性">ブラウザの互換性</h2>

<p>{{Compat("api.FileSystemEntrySync")}}</p>

<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="/ja/DOM/File_API/File_System_API" title="en/DOM/File_API/File_System_API">File System API</a></p>

<p>イントロダクション: <a href="/ja/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>