How to recursively copy entire directory including parent folder in Java

directory, java

Solution

Try using the copyDirectory(File srcDir, File destDir) method from the Apache Commons IO library instead.

Problem

I am currently coping folders from one place to another. It is working fine out but it is not copying the original folder that all the rest of the files and folders are in over as well. This is the code I am using: ``` 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+"\\"+src.getName(), file); //recursive copy copyFolder(srcFile,destFile); } } else { //if file, then copy it //Use bytes stream to support all file types InputStream in = new FileInputStream(src); OutputStream out = new FileOutputStream(dest); byte[] buffer = new byte[1024]; int length; //copy the file content in bytes while ((length = in.read(buffer)) > 0){ out.write(buffer, 0, length); } in.close(); out.close(); System.out.println("File copied from " + src + " to " + dest); } } ``` So I have the folder src `C:\test\mytest\..all folders..` I want to copy it to `C:\test\myfiles` But instead of getting `C:\test\myfiles\mytest\..all folders..` im getting `C:\test\myfiles\..all folders..`

Original source