Java File Path Delete deleteDirectoryAndContentsRecursive(final File srcPath, final boolean deleteSrcDir)

Here you can find the source of deleteDirectoryAndContentsRecursive(final File srcPath, final boolean deleteSrcDir)

Description

This method deletes a given directory with its content.

License

Open Source License

Parameter

Parameter Description
srcPath a parameter

Declaration

public static void deleteDirectoryAndContentsRecursive(final File srcPath, final boolean deleteSrcDir) 

Method Source Code

//package com.java2s;
/********************************************************************************* 
* Ephesoft is a Intelligent Document Capture and Mailroom Automation program 
* developed by Ephesoft, Inc. Copyright (C) 2015 Ephesoft Inc. 
* 
* This program is free software; you can redistribute it and/or modify it under 
* the terms of the GNU Affero General Public License version 3 as published by the 
* Free Software Foundation with the addition of the following permission added 
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK 
* IN WHICH THE COPYRIGHT IS OWNED BY EPHESOFT, EPHESOFT DISCLAIMS THE WARRANTY 
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS. 
* 
* 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 Affero General Public License for more 
* details. /*from  www .  j  av a  2 s  . co  m*/
* 
* You should have received a copy of the GNU Affero General Public License along with 
* this program; if not, see http://www.gnu.org/licenses or write to the Free 
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 
* 02110-1301 USA. 
* 
* You can contact Ephesoft, Inc. headquarters at 111 Academy Way, 
* Irvine, CA 92617, USA. or at email address info@ephesoft.com. 
* 
* The interactive user interfaces in modified source and object code versions 
* of this program must display Appropriate Legal Notices, as required under 
* Section 5 of the GNU Affero General Public License version 3. 
* 
* In accordance with Section 7(b) of the GNU Affero General Public License version 3, 
* these Appropriate Legal Notices must retain the display of the "Ephesoft" logo. 
* If the display of the logo is not reasonably feasible for 
* technical reasons, the Appropriate Legal Notices must display the words 
* "Powered by Ephesoft". 
********************************************************************************/

import java.io.File;

public class Main {
    /**
     * This method deletes a given directory with its content.
     * 
     * @param srcPath
     */
    public static void deleteDirectoryAndContentsRecursive(final File srcPath, final boolean deleteSrcDir) {
        if (srcPath.exists()) {
            final File[] files = srcPath.listFiles();
            if (files != null) {
                for (int index = 0; index < files.length; index++) {
                    if (files[index].isDirectory()) {
                        deleteDirectoryAndContentsRecursive(files[index], true);
                    }
                    files[index].delete();
                }
            }
        }
        if (deleteSrcDir) {
            srcPath.delete();
        }
    }

    public static void deleteDirectoryAndContentsRecursive(final File srcPath) {
        deleteDirectoryAndContentsRecursive(srcPath, true);
    }
}

Related

  1. deleteDirectory(String path)
  2. deleteDirectory(String path)
  3. deleteDirectory(String path)
  4. deleteDirectory(String sPath)
  5. deleteDirectoryAndContents(final File srcPath)
  6. deleteDirectoryContents(File path)
  7. deleteDirectoryContents(String directoryPath, boolean deleteChildDirectories)
  8. deleteDirectoryIncludeContent(String folderPath)
  9. deleteDirectoryInternal(File path)