/** * Delete a directory even if it still contains other files. This is a utility method to augment the behaviour of the standard {@link File#delete()} method which will not delete the directory if files still exist. * @param dir the directory to be deleted. * @return */ public static boolean forceDeleteDirectory(File dir) { boolean result = false; if (dir != null & dir.isDirectory()) { File[] files = dir.listFiles(); for (int i = 0; i < files.length; i++) { File file = files[i]; if (file.isDirectory()) { result = forceDeleteDirectory(file); } else { result = file.delete(); } if (!result) //if the delete failed for some reason early exit { return result; } } result = dir.delete(); } return result; }