您的位置:首页 > 编程语言 > Java开发

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

2016-01-06 00:00 651 查看
之前在写应用模块,进行单元测试编码的时候,居然脑洞大开居然创建了一个 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 的您一份参考。

最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: