Java Folder Copy nio copyFolder(File src, File dest)

Here you can find the source of copyFolder(File src, File dest)

Description

copy Folder

License

Open Source License

Declaration

public static void copyFolder(File src, File dest) throws IOException 

Method Source Code

//package com.java2s;
/**/*w w w.j  a v a  2s.  com*/
 * Original iOS version by  Jens Alfke
 * Ported to Android by Marty Schoch
 * <p/>
 * Copyright (c) 2012 Couchbase, Inc. All rights reserved.
 * <p/>
 * 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
 * <p/>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p/>
 * 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 {
    public static void copyFolder(File src, File dest) throws IOException {
        if (src.isDirectory()) {
            //if directory not exists, create it
            if (!dest.exists()) {
                dest.mkdir();
            }
            //list all the directory contents
            String files[] = src.list();
            for (String file : files) {
                //construct the src and dest file structure
                File srcFile = new File(src, file);
                File destFile = new File(dest, file);
                //recursive copy
                copyFolder(srcFile, destFile);
            }
        } else {
            copyFile(src, dest);
        }
    }

    public static void copyFile(File sourceFile, File destFile) throws IOException {
        if (!destFile.exists()) {
            destFile.createNewFile();
        }

        FileChannel source = null;
        FileChannel destination = null;
        try {
            source = new FileInputStream(sourceFile).getChannel();
            destination = new FileOutputStream(destFile).getChannel();
            destination.transferFrom(source, 0, source.size());
        } finally {
            if (source != null)
                source.close();
            if (destination != null)
                destination.close();
        }
    }
}

Related

  1. copyFolder(File sourceFolder, File destinationFolder)
  2. copyFolder(File sourceFolder, File destinationFolder)
  3. copyFolder(File sourceFolder, File destinationFolder, List blacklist)
  4. copyFolder(File src, File dest)
  5. copyFolder(File src, File dst, FilenameFilter filter)
  6. copyFolder(final File from, final File to)
  7. copyFolder(String path, String resultPath)
  8. copyFolderNio(String oldpathall, String newpath)