两年多没用过Java了,前几天使用eclipse导入项目时,不小心导致文件夹创建的恐怖的递归,产生了一个超级长的文件夹。尝试各种删除方法,什么del命令、robocopy.exe文件、360工具、文件粉碎机都用了,还是搞不定。(弱弱地吼一句,这些工具也太不专业了吧!!! )
好在网上有人分享了递归删除的程序――tt.java(记得在运行之前,修改路径哟~ )
import java.util.*;
import java.io.*;
public class tt {
//删除文件夹方法
private void deleteDir(File file) {
if (file.listFiles().length == 0)
file.getAbsoluteFile().delete();
}
//删除文件方法
public void deleteFile(File file) {
File[] temp = file.listFiles();
for (int i = 0; i < temp.length; i++) {
System.out.println(temp[i].getName());
if (temp[i].isDirectory()) {
if (temp[i].listFiles().length != 0)
this.deleteFile(temp[i]); //如果 文件夹里不为空 递归调用 方法
this.deleteDir(temp[i]);
} else {
temp[i].delete();
}
}
}
public static void main(String[] args) {
tt m = new tt();
m.deleteFile(new File("C:\\Users\\applewu\\Desktop\\1\\123\\JUnit_20101121"));
}
}
在运行程序的同时,就在进行文件夹/文件的删除。如果执行完毕,还是有很多文件夹/文件,请多次运行该程序。
让我纠结的问题总算解决,多谢Ming的执拗,本来想直接丢给ITG来着~