Java学习-040-级联删除目录中的文件、目录

之前在写应用模块,进行单元测试编码的时候,居然脑洞大开居然创建了一个 N 层的目录,到后来删除测试结果目录的时候,才发现删除不了了,提示目录过长无法删除。网上找了一些方法,也找了一些粉碎机,都没能达到想要的结果,我就简写了一个小应用,用于删除自己脑洞大开创建的级联目录。此小应用没有代码注释,也没有进行容错处理,请大家知悉!哈哈哈哈哈。。。。。若发现有错误,也请告知,我会去修改订正,非常感谢!

闲话少述,直接上码了!

 1 /**
 2  * Aaron.ffp Inc.
 3  * Copyright (c) 2004-2015 All Rights Reserved.
 4  */
 5 package ffp;
 6 
 7 import java.io.File;
 8 
 9 /**
10  * 
11  * @author Aaron.ffp
12  * @version V1.0.0: delDir ffp DelDir.java, 2015年12月31日 上午10:14:23 Exp $
13  */
14 public class DelDir {
15     private static String msg = "";
16 
17     /**
18      * 
19      * @author Aaron.ffp
20      * @version V1.0.0: delDir ffp DelDir.java main, 2015年12月31日 上午10:14:23 Exp $
21      * 
22      * @param args
23      */
24     public static void main(String[] args) {
25         String rootDir = args[0];
26         String delRootDir = args[1];
27         
28         
29         try {
30             File root = new File(rootDir);
31             
32             if (root.exists()) {
33                 if (root.isFile()) {
34                     root.delete();
35                     
36                     return;
37                 }
38                 
39                 delFile(rootDir);
40                 
41                 if ("delete".equals(delRootDir.toLowerCase())) {
42                     root.delete();
43                 }
44             }
45         } catch (Exception e) {
46             System.out.println(e.getMessage());
47         }
48     }
49     
50     public static void delFile (String rootDir) {
51         String filename = "";
52         
53         File[] fList = new File(rootDir).listFiles();
54         
55         for (int i = 0; i < fList.length; i++) {
56             filename = fList[i].getPath();
57             
58             if (fList[i].getPath().equals(rootDir) && (new File(rootDir).listFiles().length < 1)) {
59                 return;
60             }
61             
62             if (fList[i].isFile()) {
63                 if (fList[i].delete()){
64                     msg = "\n\n----------------- >> Successed to delete file \n{" + filename + "}";
65                     System.out.println(msg);
66                 }
67             }
68             
69             if (fList[i].isDirectory()) {
70                 if (fList[i].listFiles().length > 0) {
71                     delFile(fList[i].getPath());
72                 } else {
73                     if(fList[i].delete()){
74                         msg = "\n\n================= >> Successed to delete folder \n{" + filename + "}";
75                         System.out.println(msg);
76                     }
77                 }
78             }
79         }
80         
81         fList = new File(rootDir).listFiles();
82         if (fList.length > 0) {
83             delFile(rootDir);
84         }
85     }
86 }

将程序打包(例如打包为:cleanDirectory.jar),打开命令行,执行命令 :

1 java -jar cleanDirectory.jar "{要删除的根目录}" "delete"
2 
3 第二个参数:是否删除根目录

 

 

至此, Java学习-040-级联删除目录中的文件、目录 顺利完结,希望此文能够给初学 JavaWeb 的您一份参考。

最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^

 

 

你可能感兴趣的:(Java学习-040-级联删除目录中的文件、目录)