diff options
Diffstat (limited to 'files/ja/archive/mozilla/xul/fileguide/movecopydelete/index.html')
| -rw-r--r-- | files/ja/archive/mozilla/xul/fileguide/movecopydelete/index.html | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/files/ja/archive/mozilla/xul/fileguide/movecopydelete/index.html b/files/ja/archive/mozilla/xul/fileguide/movecopydelete/index.html new file mode 100644 index 0000000000..d1c28b56bf --- /dev/null +++ b/files/ja/archive/mozilla/xul/fileguide/movecopydelete/index.html @@ -0,0 +1,53 @@ +--- +title: MoveCopyDelete +slug: Archive/Mozilla/XUL/FileGuide/MoveCopyDelete +translation_of: Archive/Mozilla/XUL/FileGuide/MoveCopyDelete +--- +<h3 id=".E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AE.E7.A7.BB.E5.8B.95.E3.80.81.E3.82.B3.E3.83.94.E3.83.BC.E3.80.81.E5.89.8A.E9.99.A4" name=".E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AE.E7.A7.BB.E5.8B.95.E3.80.81.E3.82.B3.E3.83.94.E3.83.BC.E3.80.81.E5.89.8A.E9.99.A4">ファイルの移動、コピー、削除</h3> +<p><a href="ja/NsIFile">File</a> オブジェクトにはディスク上のファイルを移動したりコピーしたりするためのメソッドがあります。<a href="ja/NsIFile/moveTo">moveTo</a> メソッドはファイルを移動するために使用しますが、<a href="ja/NsIFile/copyTo">copyTo</a> メソッドはファイルをコピーするために使用します。<a href="ja/NsIFile/remove">remove</a> メソッドはファイルを削除するために使用します。 +</p> +<h4 id=".E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AE.E3.82.B3.E3.83.94.E3.83.BC" name=".E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AE.E3.82.B3.E3.83.94.E3.83.BC">ファイルのコピー</h4> +<p><a href="ja/NsIFile/copyTo">copyTo</a> メソッドはファイルやディレクトリをコピーするために使用します。これはコピーしたい元のファイルから呼び出します。このメソッドは 2 つの引数をとります。第 1 引数はファイルのコピー先のディレクトリ、第 2 引数はファイルの新しい名前であり、コピー先でリネームしたい場合に使用します。ファイルをリネームせず元のファイルと同じ名前を使用したい場合は第 2 引数に空文字列を使用します。 +</p> +<pre>var file = IO.newFile("Home", "source.txt"); +var destination = IO.newFile("Desktop", ""); +file.copyTo(destination, "destination.txt"); +</pre> +<p>この例ではユーザのホームディレクトリにある "source.txt" というファイルをデスクトップにコピーします。さらにファイルを "destination.txt" にリネームします。ここでは、コピーしたいファイルとファイルのコピー先であるディレクトリの 2 つのファイルオブジェクトが作成されます。前者の <code>copyTo</code> メソッドが呼び出され、その <code>copyTo</code> メソッドの第 1 引数として後者を渡しています。当然、コピー先はディレクトリでなければなりません。そうでなければエラーが発生します。 +</p><p>この場合、"source.txt" はファイルであることを想定しています。コピーしたいアイテムがディレクトリである場合、上記と全く同じ方法でコピーすることができます。こうするとコピーしたいディレクトリ全体とその中身がある場所から別の場所にコピーできます。例えば、次のようにすることでファイルが詰まったディレクトリのバックアップをとることができます。 +</p> +<pre>var file = IO.newFile("Home", "importantData"); +var destination = IO.newFile("Desktop", ""); +destination.append("backups"); +file.copyTo(destination, ""); +</pre> +<p>この例では "importantData" というアイテムがデスクトップディレクトリ内の "backups" というディレクトリにコピーされます。<a href="ja/NsIFile/append">append</a> メソッドを使って "backups" サブディレクトリを取得しています。このメソッドはサブディレクトリに移動するために使用します。<code>append</code> メソッドについてのさらなる情報については <a href="ja/FileGuide/Directories">ディレクトリ操作</a> をご覧ください。 +</p><p>この最後の例ではコピー先のファイル名に空文字列がセットされています。このことでアイテムがその名前を変更されることなくコピーされます。これは別のディレクトリにコピーするときの通常の挙動ですが、ファイルを同じディレクトリに別の名前でコピーするときにはファイル名を指定したいでしょう。そのような場合はコピー先ディレクトリを省略することもできます。 +</p> +<pre>var file = IO.newFile("Desktop", "myimage.png"); +file.copyTo(null, "anotherimage.png"); +</pre> +<p>ここではコピー先に null が指定されているため、ファイルが同じディレクトリにコピーされます。 +</p><p>例えば、ファイルが存在しない場合やコピー先ディレクトリが書き込み不可の場合は、ファイルコピー時にエラーがたくさん発生することがあります。起こりうるあらゆるエラーを捕捉するために try-catch ブロックの中でファイル操作をするのは得策です。起こりうるファイル関係のエラーのリストについては <a href="ja/Table_Of_Errors#File_Errors">ファイルのエラー</a> を参照してください。 +</p> +<h4 id=".E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AE.E7.A7.BB.E5.8B.95" name=".E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AE.E7.A7.BB.E5.8B.95">ファイルの移動</h4> +<p>ファイルを移動するには <a href="ja/NsIFile/copyTo">copyTo</a> メソッドに似た機能を持つ <a href="ja/NsIFile/moveTo">moveTo</a> メソッドを使用するのがよいでしょう。以下の例はユーザのホームディレクトリにある "myfile.txt" というファイルを一時ディレクトリに移動します。<code>copyTo</code> メソッドと同様、<code>moveTo</code> はコピー先のディレクトリと新しいファイル名の 2 つの引数をとります。ファイルをリネームせずに既存の名前のままにしたい場合は第 2 引数に空文字列を使用します。 +</p> +<pre>var file = IO.newFile("Home", "myfile.txt"); +var destination = IO.newFile("Temporary", ""); +file.moveTo(destination, ""); +</pre> +<p><code>moveTo</code> メソッドの第 2 引数は同じファイル名を使うように指示する空文字列です。移動時にファイル名を変更するためにはこの引数で名前を指定します。これは同じディレクトリ内のファイルをリネームする際に使用できます。同じディレクトリにファイルを移動するときは移動先の引数を null にできます。例えば、次の例は同じディレクトリ内のファイルをリネームします。 +</p> +<pre>file.moveTo(null, "hello.txt"); +</pre> +<p>移動先のファイルが既に存在する場合、<code>moveTo</code> メソッドは既存のファイルを置き換えます。このため、ファイルを移動する前に、ファイルオブジェクトの <a href="ja/NsIFile/exists">exists</a> メソッドを使用してファイルが存在するかどうか確認するのがよいでしょう。 +</p> +<h4 id=".E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AE.E5.89.8A.E9.99.A4" name=".E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.81.AE.E5.89.8A.E9.99.A4">ファイルの削除</h4> +<p>ファイルを削除するには、そのファイルオブジェクトの <a href="ja/NsIFile/remove">remove</a> メソッドを使用します。このメソッドは再帰的に削除するかどうか指示する 1 つの真偽値引数をとります。もし真であり、かつファイルオブジェクトがディレクトリを参照していれば、そのディレクトリとその中の全ファイル、全サブディレクトリが削除されます。もし偽であれば、ディレクトリが空である場合にのみそのディレクトリが削除されます。ディレクトリが空でなければエラーが発生します。ファイルに対しては引数は単に無視されます。 +</p> +<pre>var file = IO.newFile("Home", "photo.jpg"); +file.remove(false); +</pre> +<p>この例では "photo.jpg" というファイルを削除します。 +</p> |
