实现一个需求:给定一个文件目录,通过 递归删除该文件夹中的所有文件。
注意:java中的file对象不能 直接删除有内容的文件夹 ,比如,该文件夹中有东西,调用java直接删除就会报错。
package Dome;
import java.io.File;
public class Delete {
public static void main(String[] args) {
String s = "D:/JavaTest/";
File file=new File(s);
deleteBoom(file);
}
/*
首先判断一个文件夹或文件存在,如果存在文件,直接删除,如果还有文件夹,进入该文件夹;
判断该文件夹是否为空,如果为空,则直接删除;
如果不为空,如果是文件直接删除,如果是文件夹进入该文件夹;
判断该文件夹是否为空,重复第二步操作;
isFile()测试此抽象路径名表示的文件是否是一个标准文件。
isDirectory()测试此抽象路径名表示的文件是否是一个目录。
file.exit()测试此抽象路径名表示的文件或目录是否存在。
file.delete() 删除此抽象路径名表示的文件或目录。
file.list()返回一个数组,元素为文件或者文件夹
*/
public static void deleteBoom(File file) {
if (file.isDirectory()) {//如果是文件夹就进入
File[] files = file.listFiles();
for(File f:files){
if(f.isDirectory()){
deleteBoom(f);
}
f.delete();
}
}
file.delete();//如果是文件就删除
}
}