Here you can find the source of copyFileNIO(File src, File dest)
Parameter | Description |
---|---|
src | source file. |
dest | destination file. |
Parameter | Description |
---|---|
IOException | an exception |
public static void copyFileNIO(File src, File dest) throws IOException
//package com.java2s; /******************************************************************************* * Copyright 2010 Dieselpoint, Inc./*w w w . j av a 2 s. com*/ * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.channels.FileChannel; public class Main { /** * Copies the content of one file to another file. * @param src source file. * @param dest destination file. * @throws IOException */ public static void copyFileNIO(File src, File dest) throws IOException { if (!dest.exists()) { dest.createNewFile(); } final FileChannel srcChannel = new FileInputStream(src).getChannel(); final FileChannel destChannel = new FileOutputStream(dest).getChannel(); //64MB Buffer. final int bufferSize = (64 * 1024 * 1024); final long size = srcChannel.size(); long position = 0; try { while (position < size) { position += srcChannel.transferTo(position, bufferSize, destChannel); } dest.setLastModified(src.lastModified()); } finally { if (srcChannel != null) { srcChannel.close(); } if (destChannel != null) { destChannel.close(); } } } }