HOWTO · Java
Java でファイルをコピーする
この記事では、Java でファイルをある場所から別の場所にコピーする方法を紹介します。
このページの内容
この記事では、ある場所から別の場所にファイルをコピーする方法を紹介します。Java 言語には、あるファイルを別のディレクトリに移動できるライブラリがあります。もっと詳しく見てみましょう。
Java コードを介してファイルをコピーするには、ソースパスと宛先パスを 2つの異なる文字列に保存する必要があります。後で、ソースパスを介して目的のファイルをキャプチャし、宛先の場所のコピーを作成します。次のコードを機能させるには、このライブラリを追加する必要があります。
import static java.nio.file.StandardCopyOption.*;
処理する必要のあるいくつかの例外があります。
Java でファイルをコピーするときの例外処理
以下は、あなたに役立つかもしれない 3つの例外処理キーワードです。
- ファイルがすでに宛先の場所(同じ名前)にある状況に遭遇した場合は、
REPLACE_EXISTINGを使用する必要があります。これにより、既存のファイルが置き換えられます。 COPY_ATTRIBUTES、この保存されたキーワードは、ソースファイルにリンクされた属性をコピーします。- シンボリックリンクをたどりたくない場合、つまりターゲットリンクをコピーしたくない場合は、
NOFOLLOW_LINKSを使用できます。
Java でファイルをコピーするサンプルコード
import static java.nio.file.StandardCopyOption.*;
import java.io.*;
import java.nio.file.Files;
public class Main {
public static void main(String[] args) {
String sourcePath = "E:\\source location\\delftstack.txt"; // source file path
String destinationPath = "E:\\destination location\\"; // destination file path
File sourceFile = new File(sourcePath); // Creating A Source File
File destinationFile = new File(
destinationPath + sourceFile.getName()); // Creating A Destination File. Name stays the same
// this way, referring to getName()
try {
Files.copy(sourceFile.toPath(), destinationFile.toPath(), REPLACE_EXISTING);
// Static Methods To Copy Copy source path to destination path
} catch (Exception e) {
System.out.println(e); // printing in case of error.
}
}
}
上記のコード例では、ご覧のとおり、ライブラリが追加されています。ソースパスをコピーし、文字列 sourcepath 内に保存し、宛先の場所でも同じことを行いました。
その後、ソースファイル(ファイルオブジェクト)を作成し、ソースパスの文字列に渡しました。これで、通常はファイルをコピーして貼り付ける一方で、名前は同じままであることがわかりました。これを行うには、ソースファイルで getName() を使用します。
Files.copy(source, target, REPLACE_EXISTING); を使用するコマンドを実行して値を渡すと、上記のコード例で Java のテキストファイルがコピーされます。