code: public static boolean moveFilesFromDirectoryToDirectory(File origDir,
  															File destDir, 
  															File baseDir) {
  
  		if (!origDir.exists()) {
  			return false;
  		}
  		if (!baseDir.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()) {
  					moveFilesFromDirectoryToDirectory(file, destFile,
  							baseDir);
  				} else {
  					if (!copyFile(file, destFile)) {
  						return false;
  					}
  				}
  			}
  		} else {
  			return false;
  		}
  		if (deleteFilesOfDir(origDir)) {
  			cleanParentDirectories(origDir, baseDir);
  			return true;
  		} else {
  			return false;
  		}
  	}
docs: Mueve los directorios y ficheros de la carpeta origen hasta la carpeta
  destino. En el path de destino crea los directorios que sean necesarios.
  Despues borra todos los directorios padre de la carpeta origen hasta la
  carpeta basDir siempre que estos esten vacios.
  
  @param origDir
  directorio origen
  @param destDir
  directorio final
  @return true si va bien, false si falla