Delete the diretory and any files and directories in it recursively in Java

Description

The following code shows how to delete the diretory and any files and directories in it recursively.

Example


/*w  w w .  jav  a2s .c o m*/
/*
 * Copyright Aduna (http://www.aduna-software.com/) (c) 1997-2006.
 *
 * Licensed under the Aduna BSD-style license.
 */
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class Main {
  
  /**
   * Deletes the specified diretory and any files and directories in it
   * recursively.
   * 
   * @param dir The directory to remove.
   * @throws IOException If the directory could not be removed.
   */
  public static void deleteDir(File dir)
    throws IOException
  {
    if (!dir.isDirectory()) {
      throw new IOException("Not a directory " + dir);
    }
    
    File[] files = dir.listFiles();
    for (int i = 0; i < files.length; i++) {
      File file = files[i];
      
      if (file.isDirectory()) {
        deleteDir(file);
      }
      else {
        boolean deleted = file.delete();
        if (!deleted) {
          throw new IOException("Unable to delete file" + file);
        }
      }
    }
    
    dir.delete();
  }

}




















Home »
  Java Tutorial »
    I/O »




Binary File
Byte Array
CharSet
Checksum
Console
Create Copy Move Delete
Directory
Drive
Encode Decode
File Attribute
File Lock
File System
GZIP
Jar File
NIO Buffer
Path
Scanner
StreamTokenizer
Temporary File
Text File
Zip