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

闲话少述,直接上码了!

 /**
* Aaron.ffp Inc.
* Copyright (c) 2004-2015 All Rights Reserved.
*/
package ffp; import java.io.File; /**
*
* @author Aaron.ffp
* @version V1.0.0: delDir ffp DelDir.java, 2015年12月31日 上午10:14:23 Exp $
*/
public class DelDir {
private static String msg = ""; /**
*
* @author Aaron.ffp
* @version V1.0.0: delDir ffp DelDir.java main, 2015年12月31日 上午10:14:23 Exp $
*
* @param args
*/
public static void main(String[] args) {
String rootDir = args[0];
String delRootDir = args[1]; try {
File root = new File(rootDir); if (root.exists()) {
if (root.isFile()) {
root.delete(); return;
} delFile(rootDir); if ("delete".equals(delRootDir.toLowerCase())) {
root.delete();
}
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
} public static void delFile (String rootDir) {
String filename = ""; File[] fList = new File(rootDir).listFiles(); for (int i = 0; i < fList.length; i++) {
filename = fList[i].getPath(); if (fList[i].getPath().equals(rootDir) && (new File(rootDir).listFiles().length < 1)) {
return;
} if (fList[i].isFile()) {
if (fList[i].delete()){
msg = "\n\n----------------- >> Successed to delete file \n{" + filename + "}";
System.out.println(msg);
}
} if (fList[i].isDirectory()) {
if (fList[i].listFiles().length > 0) {
delFile(fList[i].getPath());
} else {
if(fList[i].delete()){
msg = "\n\n================= >> Successed to delete folder \n{" + filename + "}";
System.out.println(msg);
}
}
}
} fList = new File(rootDir).listFiles();
if (fList.length > 0) {
delFile(rootDir);
}
}
}

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

 java -jar cleanDirectory.jar "{要删除的根目录}" "delete"

 第二个参数:是否删除根目录

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

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

Java学习-040-级联删除目录中的文件、目录的更多相关文章

  1. python基础:os模块中关于文件/目录常用的函数使用方法

    Python是跨平台的语言,也即是说同样的源代码在不同的操作系统不需要修改就可以同样实现 因此Python的作者就倒腾了OS模块这么一个玩意儿出来,有了OS模块,我们不需要关心什么操作系统下使用什么模 ...

  2. os模块中关于文件/目录常用的函数使用方法

    os模块中关于文件/目录常用的函数使用方法 函数名 使用方法 getcwd() 返回当前工作目录 chdir(path) 改变工作目录 listdir(path='.') 列举指定目录中的文件名('. ...

  3. 18 os/os.path模块中关于文件/目录常用的函数使用方法 (转)

    os模块中关于文件/目录常用的函数使用方法 函数名 使用方法 getcwd() 返回当前工作目录 chdir(path) 改变工作目录 listdir(path='.') 列举指定目录中的文件名('. ...

  4. 从.Net到Java学习第十篇——Spring Boot文件上传和下载

    从.Net到Java学习系列目录 图片上传 Spring Boot中的文件上传就是Spring MVC中的文件上传,将其集成进来了. 在模板目录创建一个新的页面 profile/uploadPage. ...

  5. java学习笔记16--I/O流和文件

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input  Output)流 IO流用来处理 ...

  6. java学习笔记之IO编程—File文件操作类

    1. File类说明 在Java语言里面提供有对于文件操作系统操作的支持,而这个支持就在java.io.File类中进行了定义,也就是说在整个java.io包里面,File类是唯一一个与文件本身操作( ...

  7. 【python系统学习17】python中的文件读写

    python中的文件读写 文件读写,是Python代码调用电脑文件的主要功能,能被用于读取和写入文本.音频片段.Excel文档.邮件以及任何保存在电脑上的东西. 可使用python批量的操作本地文件, ...

  8. Shell中判断文件,目录是否存在

    一. 具体每个选项对应的判断内容: -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filena ...

  9. Java学习笔记——可视化Swing中JTable控件绑定SQL数据源的两种方法

    在 MyEclipse 的可视化 Swing 中,有 JTable 控件. JTable 用来显示和编辑常规二维单元表. 那么,如何将 数据库SQL中的数据绑定至JTable中呢? 在这里,提供两种方 ...

随机推荐

  1. chrome://inspect 移动前端调试方案(Android + Chrome 实现远程调试)

    一:背景通常情况我们调试移动端页面最常用的方法就是:切换pc端浏览器的userAgent来模拟手机或其他移动设备调试页面 然后用手机打开要调试的页面 刷新页面查看调试结果 但是这就存在两个问题 在pc ...

  2. COJ559 回文

    试题描述 给定字符串,求它的回文子序列个数.回文子序列反转字符顺序后仍然与原序列相同.例如字符串aba中,回文子序列为"a", "a", "aa&qu ...

  3. Android环境搭建要点

    1.JDK环境变量配置 在环境变量的path变量中加入jdk安装目录的bin路径字符串(C:\Program Files\Java\jdk1.8.0\bin). 配置好后,在命令提示符界面输入&quo ...

  4. lucene 3.0.2 基本操作入门

    转自:Bannings http://blog.csdn.net/zhangao0086/article/details/ 我们为什么需要Lucene? 任何的的查询功能都类似,都是对文本内容的搜索, ...

  5. [转].net中的认证(authentication)与授权(authorization)

    本文转自:http://www.cnblogs.com/yjmyzz/archive/2010/08/29/1812038.html 注:这篇文章主要给新手看的,老手们可能会觉得没啥营养,就请绕过吧. ...

  6. 【液晶模块系列基础视频】3.4fatfs接口函数的使用4

    ============================= 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:ht ...

  7. metasploit--payload模块信息

    Name                                             Disclosure Date  Rank    Description ----           ...

  8. git基础及分支

    关于版本控制 git是一种分布版本控制系统,每一主机都保存了完整副本.必杀技是分支. 在Windows可安装git客户端msysgit. git基础 第一次看progit觉得有点不懂,不懂版本控制,一 ...

  9. gitlab & gerrit & git & repo & jenkins

    Omnibus GitLab documentation(中文安装说明) 在自己的服务器上部署 GitLab 社区版->较为全面 GIT & REPO & GERRIT (三) ...

  10. java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet的解决方案

    tomcat7启动后出现:java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet这个问题. 并且访问 ...