Here you can find the source of copyFile(String source, String dest)
public static void copyFile(String source, String dest) throws IOException
//package com.java2s; /*/*from ww w . j ava2s . com*/ This file is part of the BlueJ program. Copyright (C) 1999-2009,2014 Michael Kolling and John Rosenberg This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. This file is subject to the Classpath exception as provided in the LICENSE.txt file that accompanied this code. */ import java.io.*; public class Main { /** * Copy file 'source' to file 'dest'. The source file must exist, * the destination file will be created. Returns true if successful. */ public static void copyFile(String source, String dest) throws IOException { File srcFile = new File(source); File destFile = new File(dest); copyFile(srcFile, destFile); } /** * Copy file 'srcFile' to file 'destFile'. The source file must exist, * the destination file will be created. Returns true if successful. */ public static void copyFile(File srcFile, File destFile) throws IOException { // check whether source and dest are the same if (srcFile.equals(destFile)) { return; // don't bother - they are the same } InputStream in = null; OutputStream out = null; try { in = new BufferedInputStream(new FileInputStream(srcFile)); out = new BufferedOutputStream(new FileOutputStream(destFile)); copyStream(in, out); } finally { if (in != null) { in.close(); } if (out != null) { out.close(); } } } /** * Copy stream 'in' to stream 'out'. */ public static void copyStream(InputStream in, OutputStream out) throws IOException { for (int c; (c = in.read()) != -1;) out.write(c); } }