删除目录下所有文件,这个只能用递归方法进行。
递归,只有遇到出口才会停止递归,出口逻辑一定要找对。
目录下可能有文件或文件夹,文件夹下面还有文件或文件夹,所以使用递归进行便利进行删除。
代码如下:
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(); //删除该文件夹
}
}
}