code: public static boolean delete(File f) {
  		if (f == null || !f.exists()) return true;
  		if (f.isDirectory()) {
  			File[] subFiles = f.listFiles();
  			if (subFiles != null) {
  				for (File sf : subFiles) {
  					IOUtil.delete(sf);
  				}
  			}
  		}
  		return f.delete();
  	}
docs: Deletes a file, and if it is a folder, it deletes all its contents (including sub-folders), so that it can be deleted without problem
  
  @param f The file or folder to delete
  @return the return value of {@link java.io.File#delete()}