Web系開発メモ

Java, C#, HTML, CSS, JavaScript のことなどを書いてます。

Java ファイルをコピーする方法(java.nio.file.Files#copy)

Java でファイルをコピーする方法を書いていきます。

バージョン

目次

  1. コピー方法
  2. コピーオプションについて

1. コピー方法

Files クラスを使ってコピーします。

package org.example;

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

public class Main {
  public static void main(String[] args) throws IOException {
    Path src = Path.of("コピー元ファイルのパス");
    Path dst = Path.of("コピー先ファイルのパス");
    Files.copy(src, dst);
  }
}

ファイルのパスは以下のように指定します。

  • /dir/file.txt
  • C:\\dir\\file.txt

相対パスも指定可能です。

2. コピーオプションについて

コピーメソッドで、以下のオプションを複数指定することができます。

オプション 説明
REPLACE_EXISTING コピー先ファイルが存在する場合に置換します。
COPY_ATTRIBUTES 最終更新時間などの属性もコピーします。
NOFOLLOW_LINKS コピー元がリンクの場合はリンクをコピーします。

オプションを指定する例は以下の通りです。

package org.example;

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

public class Main {
  public static void main(String[] args) throws IOException {
    Files.copy(
      Path.of("コピー元ファイルのパス"),
      Path.of("コピー先ファイルのパス"), 
      StandardCopyOption.REPLACE_EXISTING,
      StandardCopyOption.COPY_ATTRIBUTES
    );
  }
}

参考文献

クラスFiles - docs.oracle.com