code: public static boolean deleteDirRecursively(File dir) {
  		if (!dir.exists() || !dir.isDirectory()) {
  			// No hay ficheros que borrar a si que OK
  			log.warn("El directorio:'" + dir.getAbsolutePath()
  					+ "' no existe o no es un directorio");
  			return false;
  		}
  		// el fichero es un directorio
  		boolean succed = true;
  		File listFile[] = dir.listFiles();
  		for (File file:listFile) {
  			if (file.isDirectory()) {
  				deleteDirRecursively(file);
  			} else {
  				if (!file.delete()) {
  					log.warn("No se ha podido borrar el fichero:'"
  							+ file.getAbsolutePath() + "'");
  					succed = false;
  				}
  			}	
  		}
  
  		if (!dir.delete()) {
  			log.warn("No se ha podido borrar el fichero:'"
  					+ dir.getAbsolutePath() + "'");
  			succed = false;
  		}
  		return succed;
  	}
docs: Borra este directorio y todo lo que haya dentro.
  Si esto no es un directorio sale.
  
  @param dir
  @return