java フォルダやファイルをコピーする

java フォルダやファイルをコピーする

javaで、フォルダやファイルをコピーする手順を記述してます。「Files.copy」にコピー元とコピー先を指定します。

環境

  • OS windows11 home
  • java 19.0.1

手順

フォルダやファイルをコピーするには、「Files.copy」を使用します。

Files.copy(コピー元,コピー先)

実際に、使用して「App.java」というファイルをコピーして「Copy.java」を作成してみます。

以下のコードを実行します。

import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
import java.io.IOException;

public class App {
    public static void main(String[] args) throws Exception {

        Path path1 = Paths.get("C:/java/test/src/App.java");
        Path path2 = Paths.get("C:/java/test/src/Copy.java");

        try{
            Files.copy(path1, path2);
          }catch(IOException e){
            System.out.println(e);
          }

    }
}

コピーされていることが確認できます。

コピー先にファイルが存在した場合

コピー先にファイルが存在した場合は、「FileAlreadyExistsException」が発生します。

ファイルが存在した場合に、上書きしたい時は「REPLACE_EXISTING」を使用します。

import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
import java.io.IOException;
import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;

public class App {
    public static void main(String[] args) throws Exception {

        Path path1 = Paths.get("C:/java/test/src/App.java");
        Path path2 = Paths.get("C:/java/test/src/Copy.java");

        try{
            Files.copy(path1, path2, REPLACE_EXISTING);
          }catch(IOException e){
            System.out.println(e);
          }

    }
}

フォルダをコピー

フォルダもコピーすることは可能です、フォルダ内のデータまではコピーすることができません。

import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
import java.io.IOException;
import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;

public class App {
    public static void main(String[] args) throws Exception {

        Path path1 = Paths.get("C:/java/test/src/");
        Path path2 = Paths.get("C:/java/test/src/copySrc");

        try{
            Files.copy(path1, path2, REPLACE_EXISTING);
          }catch(IOException e){
            System.out.println(e);
          }

    }
}

フォルダ内のデータはコピーされてないことが確認できます。