[java] ファイルコピー
移転しました。
Javaファイルコピーでは、FileChannel#transferTo を使うと高速にコピーできるという記事を見つけたので、それのサンプルを以下に記載する・・・って参考URLそのままです。
参考URL
http://sattontanabe.blog86.fc2.com/blog-entry-71.html
/** * コピー元のパス[srcPath]から、コピー先のパス[destPath]へ * ファイルのコピーを行います。 * コピー処理にはFileChannel#transferToメソッドを利用します。 * 尚、コピー処理終了後、入力・出力のチャネルをクローズします。 * @param srcPath コピー元のパス * @param destPath コピー先のパス * @throws IOException 何らかの入出力処理例外が発生した場合 */ public static void copyTransfer(String srcPath, String destPath) throws IOException { FileChannel srcChannel = new FileInputStream(srcPath).getChannel(); FileChannel destChannel = new FileOutputStream(destPath).getChannel(); try { srcChannel.transferTo(0, srcChannel.size(), destChannel); } finally { srcChannel.close(); destChannel.close(); } }
/** * 実行例 * @param args */ public static void main(String[] args) { try { copyTransfer("C:\\100M.txt", "C:\\a.txt"); } catch (IOException e) { e.printStackTrace(); } }