Java BufferedInputStream Copy copyFile(String source, String dest)

Here you can find the source of copyFile(String source, String dest)

Description

Copy file 'source' to file 'dest'.

License

Open Source License

Declaration

public static void copyFile(String source, String dest) throws IOException 

Method Source Code

//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);
    }
}

Related

  1. copyFile(InputStream src, File dst)
  2. copyFile(String dest_path, String src_path)
  3. copyFile(String fileName, File sourceRoot, File targetRoot, Set copied)
  4. copyFile(String from, String to)
  5. copyFile(String fromFile, String toFile)
  6. copyFile(String source, String destination)
  7. copyFile(String source, String destination)
  8. copyFile(String sourceFilePath, String destinationFilePath)
  9. copyFile(String src, String dest)