code: public static boolean copyFilesFromDirectoryToDirectory(File origDir,
  															File destDir) {
  
  		if (!origDir.exists()) {
  			return false;
  		}
  		
  		if (!destDir.exists()) {
  			destDir.mkdirs();
  		}
  		
  		File array[]=origDir.listFiles();
  		if ( array!= null) {
  			for (File file : array) {
  				File destFile = new File(destDir, file.getName());
  				if (file.isDirectory()) {
  					copyFilesFromDirectoryToDirectory(file, destFile);
  				} else {
  					if (!copyFile(file, destFile)) {
  						return false;
  					}
  				}
  			}
  		} else {
  			return false;
  		}
  
  		return true;
  	}
docs: Copya los directorios y ficheros de la carpeta origen hasta la carpeta
  destino. En el path de destino crea los directorios que sean necesarios.
  
  @param origDir
  directorio origen
  @param destDir
  directorio final
  @return true si va bien, false si falla