java如何实现删除一个文件夹中的所有内容?

通过递归的方式删除一个文件夹下的所有文件文件夹。
如果是文件,删除,并提示此文件删除;
如果是文件夹,在遍历此文件夹中的内容,把文件删除,如果还有文件夹,便遍历删除文件夹里的文件,直至文件夹变为空,再把此文件夹删除。

import java.io.*;
public class DeleteAllFile
{
public static void main(String args[]){
//定义需要遍历删除的文件夹
File directory = new File(“C:/test/”);
//进行递归遍历目录结构
doDeleteAllFile(directory);
}

//遍历删除一个文件夹下的所有文件和文件夹
public static void doDeleteAllFile(File dir){
if(dir.isDirectory()){ //如果dir是文件夹则使用listFiles()方法并进一步递归
File[] files = dir.listFiles();
for(File file : files){
doDeleteAllFile(file);//递归删除文件夹中的所有内容
}
dir.delete(); //删除内容后,清理空文件夹
System.out.println(dir+” is deleted”);
}else{ //如果dir是文件则删除,并提示此文件被删除
dir.delete();
System.out.println(dir+” is deleted”);
}
}

}

© 2014, 李德涛博客. 版权所有.

发表评论

电子邮件地址不会被公开。 必填项已用*标注