■ ファイルのコピー
* Files.copy(sourcePath, destinationPath) を使う
上書き
* Files.copy(sourcePath, destinationPath, StandardCopyOption.REPLACE_EXISTING) を使う
サンプル
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
public class Main {
public static void main(String[] args) {
try {
Path source = Paths.get("etc", "sample.txt");
Path destination = Paths.get("etc", "clone.txt");
Files.copy(source, destination, StandardCopyOption.REPLACE_EXISTING);
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
使用上の注意
コピー先の途中にフォルダなかったら例外が発生する
・・・略・・・
Path destination = Paths.get("etc/sample", "clone.txt"); // フォルダ「sample」は存在しない
・・・略・・・
# 例外「java.nio.file.NoSuchFileException: etc\sample.txt -> etc\sample\clone.txt」が発生
回避策 : toFile().getParentFile().mkdirs()で途中のフォルダを作成する
・・・略・・・
Path destination = Paths.get("etc/sample", "clone.txt"); // フォルダ「sample」は存在しない
destination.toFile().getParentFile().mkdirs(); // ★途中のフォルダを作成する(あっても例外が出ない)★
・・・略・・・
参考文献
http://www.ne.jp/asahi/hishidama/home/tech/java/files.html