01: /*
02: * BEGIN_HEADER - DO NOT EDIT
03: *
04: * The contents of this file are subject to the terms
05: * of the Common Development and Distribution License
06: * (the "License"). You may not use this file except
07: * in compliance with the License.
08: *
09: * You can obtain a copy of the license at
10: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
11: * See the License for the specific language governing
12: * permissions and limitations under the License.
13: *
14: * When distributing Covered Code, include this CDDL
15: * HEADER in each file and include the License file at
16: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
17: * If applicable add the following below this CDDL HEADER,
18: * with the fields enclosed by brackets "[]" replaced with
19: * your own identifying information: Portions Copyright
20: * [year] [name of copyright owner]
21: */
22:
23: /*
24: * @(#)DirectoryHelper.java
25: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
26: *
27: * END_HEADER - DO NOT EDIT
28: */
29: package com.sun.jbi.binding.file.util;
30:
31: import java.io.File;
32:
33: import java.util.logging.Logger;
34:
35: /**
36: * Directory helper class to do folder operations.
37: *
38: * @author Sun Microsystems, Inc.
39: */
40: public class DirectoryHelper {
41: /**
42: * Logger object.
43: */
44: private static Logger sLog = Logger
45: .getLogger("com.sun.jbi.binding.file.util");
46:
47: /**
48: * Deletes a directory recursively.
49: *
50: * @param directoryOrFile directory or file that has to be deleted.
51: */
52: public static void deleteRecursively(File directoryOrFile) {
53: if (directoryOrFile == null) {
54: return;
55: }
56:
57: File directory = directoryOrFile;
58:
59: try {
60: if (directory.isFile()) {
61: directory.delete();
62:
63: return;
64: }
65:
66: File[] fileList = directory.listFiles();
67:
68: if (fileList == null) {
69: return;
70: }
71:
72: if (fileList.length == 0) {
73: directory.delete();
74:
75: return;
76: } else {
77: for (int i = 0; i < fileList.length; i++) {
78: if (fileList[i].isFile()) {
79: fileList[i].delete();
80: }
81:
82: if (fileList[i].isDirectory()) {
83: deleteRecursively(fileList[i]);
84: }
85: }
86:
87: directory.delete();
88:
89: return;
90: }
91: } catch (Exception e) {
92: sLog.info(directory.getAbsolutePath() + " "
93: + e.getMessage());
94: }
95:
96: return;
97: }
98: }
|