「駑馬十駕」を信念に IT系情報を中心に調べた事をコツコツ綴っています。

JavaでファイルをコピーするにはFilesクラスのcopyメソッドで可能となります。

第一引数へコピー元のPath、第二引数へコピー先のPathを指定することで可能ですが、コピー先に既にファイルが有る場合、IOExceptionが発生するので第三引数へ「StandardCopyOption.REPLACE_EXISTING」を指定することで上書き保存も可能となります。

Files.copy(Path source, Path target, CopyOption… options)のJavaDoc

Javaソース

	/**
     * <p>[概 要] Pathに指定されているファイルをコピー</p>
     * <p>[詳 細] </p>
     * <p>[備 考] </p>
     * @param  fromPath コピー元パス
     * @param  toPath コピー先パス
     * @return コピー先ファイルの存在チェック結果(true:コピー成功、false:コピー失敗)
	 * @throws IOException 
     */
	public static boolean copyFile(Path fromPath, Path toPath) throws IOException{
		try {
			// ファイルをコピー(ファイルがあれば上書き保存)
			Files.copy(fromPath, toPath, StandardCopyOption.REPLACE_EXISTING);

			// ファイル存在チェックの結果を返却
			return Files.exists(toPath);
		} catch (IOException e) {
			throw new IOException();
		}
	}

JUnitサンプル

	@Test
	public void copyFileTest() {
		// 準備
		Path fromPath = Paths.get("C:\\pleiades-2022-06-ultimate-win-64bit-jre_20220515\\workspace\\SampleJava1\\SampleXml.xml"); // コピー元
		Path toPath = Paths.get("C:\\pleiades-2022-06-ultimate-win-64bit-jre_20220515\\workspace\\SampleJava1\\SampleXml_COPY.xml"); // コピー先

		// 実行
		boolean result = false;
		try {
			result = FileSamples.copyFile(fromPath, toPath);
		} catch (IOException e) {
			e.printStackTrace();
		}

		// 検証
		assertTrue("コピー先のファイルが存在しません。", result);
	}
	
}

 

0 0
Article Rating
申し込む
注目する
guest
0 コメント一覧
最も古い
最新 高評価
インラインフィードバック
すべてのコメントを見る

Ads by Google

0 0
Article Rating
申し込む
注目する
guest
0 コメント一覧
最も古い
最新 高評価
インラインフィードバック
すべてのコメントを見る
0
あなたの考えが大好きです、コメントしてください。x