Delete all files under this file and including this file : Delete « File « Java Tutorial






import java.io.File;
import java.io.IOException;

public class Utils {
  /**
   * delete all files under this file and including this file
   * 
   * @param f
   * @throws IOException
   */
  public static void deleteAll(File f) throws IOException {
    recurse(f, new RecurseAction() {
      public void doFile(File file) throws IOException {
        file.delete();
        if (file.exists()) {
          throw new IOException("Failed to delete  " + file.getPath());
        }
      }

      public void doBeforeFile(File f) {
      }

      public void doAfterFile(File f) {
      }
    });
  }

  public static void recurse(File f, RecurseAction action) throws IOException {
    action.doBeforeFile(f);
    if (f.isDirectory()) {
      File[] files = f.listFiles();
      if (files != null) {
        for (int i = 0; i < files.length; i++) {
          if (files[i].isDirectory()) {
            recurse(files[i], action);
          } else {
            action.doFile(files[i]);
          }
        }
      }
    }
    action.doFile(f);
  }
}

interface RecurseAction {

  /**
   * @param file
   * @throws IOException
   */
  void doFile(File file) throws IOException;

  /**
   * @param f
   */
  void doBeforeFile(File f);

  /**
   * @param f
   */
  void doAfterFile(File f);

}








11.79.Delete
11.79.1.Deletes the diretory and any files and directories in it recursively.
11.79.2.Delete the file or non-empty directory at the supplied path
11.79.3.Delete all files under this file and including this file
11.79.4.Deletes a directory.
11.79.5.Empty and delete a folder (and subfolders).
11.79.6.Recursive directory deletion
11.79.7.Recursively delete a file and all its contents
11.79.8.Recursivly delete directory
11.79.9.Remove file or directory
11.79.10.Remove a directory and all of its contents.
11.79.11.Deletes all files and subdirectories