Bastante simple este snippet para algo que no es nativo de Java. Java no permite borrar un directorio que contenga archivos adentro. Lo primero que hay que hacer para eliminar el directorio es simplemente eliminar los archivos interiores. Aca un snippet que se llama recursivamente.

/**
 * Deletes the given path and, if it is a directory, deletes all its children.
 */
public boolean deleteWithChildren(String path) {
	File file = new File(path);
	if (!file.exists()) {
		return true;
	}
	if (!file.isDirectory()) {
		return file.delete();
	}
	return this.deleteChildren(file) && file.delete();
}

private boolean deleteChildren(File dir) {
	File[] children = dir.listFiles();
	boolean childrenDeleted = true;
	for (int i = 0; children != null && i < children.length; i++) {
		File child = children[i];
		if (child.isDirectory()) {
			childrenDeleted = this.deleteChildren(child) && childrenDeleted;
		}
		if (child.exists()) {
			childrenDeleted = child.delete() && childrenDeleted;
		}
	}
	return childrenDeleted;
}