Java Recursive Delete recursiveDelete(File f)

Here you can find the source of recursiveDelete(File f)

Description

Deletes the given dir and all files/dirs underneath

License

Open Source License

Declaration

public static boolean recursiveDelete(File f) 

Method Source Code


//package com.java2s;
/*//from  w  ww  .  j a  v a 2 s . co m
* Created on Oct 10, 2003
* Modified Apr 14, 2004 by Alon Rohter
* Copyright (C) Azureus Software, Inc, All Rights Reserved.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
* 
*/

import java.io.*;

public class Main {
    /**
     * Deletes the given dir and all files/dirs underneath
     */
    public static boolean recursiveDelete(File f) {
        String defSaveDir = null;//COConfigurationManager.getStringParameter("Default save path");
        String moveToDir = null;//COConfigurationManager.getStringParameter("Completed Files Directory", "");

        try {
            moveToDir = new File(moveToDir).getCanonicalPath();
        } catch (Throwable e) {
        }
        try {
            defSaveDir = new File(defSaveDir).getCanonicalPath();
        } catch (Throwable e) {
        }

        try {

            if (f.getCanonicalPath().equals(moveToDir)) {
                System.out.println("FileUtil::recursiveDelete:: not allowed to delete the MoveTo dir !");
                return (false);
            }
            if (f.getCanonicalPath().equals(defSaveDir)) {
                System.out.println("FileUtil::recursiveDelete:: not allowed to delete the default data dir !");
                return (false);
            }

            if (f.isDirectory()) {
                File[] files = f.listFiles();
                for (int i = 0; i < files.length; i++) {
                    if (!recursiveDelete(files[i])) {

                        return (false);
                    }
                }
                if (!f.delete()) {

                    return (false);
                }
            } else {
                if (!f.delete()) {

                    return (false);
                }
            }
        } catch (Exception ignore) {
            /*ignore*/}

        return (true);
    }
}

Related

  1. recursiveDelete(File dir)
  2. recursiveDelete(File dir)
  3. recursiveDelete(File dir)
  4. recursiveDelete(File dir, boolean deleteBase)
  5. recursiveDelete(File dirPath)
  6. recursiveDelete(File f)
  7. recursiveDelete(File f)
  8. recursiveDelete(File f)
  9. recursiveDelete(File file)