• 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 = "
    
    ----------------- >> Successed to delete file 
    {" + 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 = "
    
    ================= >> Successed to delete folder 
    {" + 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 的您一份参考。

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

     

     

  • 相关阅读:
    centos开机自启
    yum离线安装
    centos6开机自启
    centos下压缩文件夹
    解析xml的工具类 * 1、将多层级xml解析为Map * 2、将多层级xml解析为Json
    获取当前时间近12个月的集合
    使用cmd导出mysql数据到excel
    冒泡排序,桶排序,快速排序
    项目遇到的管理问题
    poi导出excel,表头数据动态拼装
  • 原文地址:https://www.cnblogs.com/fengpingfan/p/5104184.html
Copyright © 2020-2023  润新知