- 删除目录下所有文件,这个只能用递归方法进行!!
- 递归,只有遇到出口才会停止递归,出口逻辑一定要认真!!!
- 目录下可能有文件或文件夹,文件夹下面还有文件或文件夹,所以使用递归进行便利进行删除!!
直接上代码,解释很详细!!!短短几行代码直接实现,但是需要认真弄清楚里面的逻辑结构!!!
import java.util.*;
import java.io.File;
public class DeleteAll{
public static void main(String[] args)
{
deleteAll(new File("D:\\ceshi")); //执行
}
//递归删除文件目录下所有文件或文件夹
public static void deleteAll(File file)
{
//递归出口 1.file为文件 2.file为空目录
if(file.isFile()||file.list().length==0)
{
file.delete(); //将此文件或该空目录删除
}
else
{ //获取到file目录下的文件
File[] files = file.listFiles();
// 遍历files,开始递归,直到file为文件或空目录停止递归
for(File f:files){ //增强For循环,下一篇进行详述!!
deleteAll(f);
f.delete(); //删除该目录
}
file.delete(); //删除该文件夹
}
}
}