Here you can find the source of delete(File file)
public static void delete(File file) throws IOException
//package com.java2s; import java.io.File; import java.io.IOException; public class Main { public static void delete(File file) throws IOException { if (file.isDirectory()) { // directory is empty, then delete it if (file.list().length == 0) { file.delete();/*from w w w . j av a 2s . c o m*/ System.out.println("Directory is deleted : " + file.getAbsolutePath()); } else { // list all the directory contents String files[] = file.list(); for (String temp : files) { // construct the file structure File fileDelete = new File(file, temp); // recursive delete delete(fileDelete); } // check the directory again, if empty then delete it if (file.list().length == 0) { file.delete(); System.out.println("Directory is deleted : " + file.getAbsolutePath()); } } } else { // if file, then delete it file.delete(); System.out.println("File is deleted : " + file.getAbsolutePath()); } } }