Here you can find the source of deleteDir(File dir, int depth, boolean deleteRootDirectory)
Parameter | Description |
---|---|
dir | a parameter |
depth | starts at 1, increments up |
private static boolean deleteDir(File dir, int depth, boolean deleteRootDirectory)
//package com.java2s; /**// w ww.ja v a2 s . c o m * Copyright 2011 OpenCDS.org * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ import java.io.File; public class Main { /** * Deletes all files and subdirectories under dir. Deletes parent directory if so specified. * Returns true if all deletions were successful. * If a deletion fails, the method stops attempting to delete and returns false. * @param dir * @param depth starts at 1, increments up * @return */ private static boolean deleteDir(File dir, int depth, boolean deleteRootDirectory) { int originalDepth = depth; depth++; if (dir.isDirectory()) { String[] children = dir.list(); for (int i = 0; i < children.length; i++) { boolean success = deleteDir(new File(dir, children[i]), depth, deleteRootDirectory); if (!success) { return false; } } } // The directory is now empty so delete it if ((originalDepth == 1) && (!deleteRootDirectory)) { return true; } else { return dir.delete(); } } /** * Deletes all files and subdirectories under dir. Deletes parent directory itself if so specified. * Returns true if all deletions were successful. * If a deletion fails, the method stops attempting to delete and returns false. * @param dir * @return */ public static boolean deleteDir(File dir, boolean deleteRootDirectory) { return deleteDir(dir, 1, deleteRootDirectory); } }