Mega Code Archive

 
Categories / Java / File Input Output
 

Deletes the diretory and any files and directories in it recursively

/*  * 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();   } }