删除过程
第一步:封装目录
第二步:获取目录下的所有文件或者文件夹的File数组
第三步:遍历该FIle数组,得到每一个FIle独享
第四步:判断该File对象是否是文件夹
是:回到第一步
否:删除
第五步:最终删除文件夹
注意:删除不走回收站,慎删!
(1)全部删除代码
package 测试;
import java.io.File;
/*
* 递归删除带内容的目录案例
* 第一步:封装目录
第二步:获取目录下的所有文件或者文件夹的File数组
第三步:遍历该FIle数组,得到每一个FIle独享
第四步:判断该File对象是否是文件夹
是:回到第一步
否:删除
第五步:最终删除文件夹
*/
public class DeletTest {
public static void main(String[] args) {
File file=new File("D:\\Users\\xulihao\\Desktop\\t");
delet(file);
}
private static void delet(File rootfile) {//(1)
// TODO Auto-generated method stub
File[] file=rootfile.listFiles();
for(File f:file) {
if(f.isFile()) {//如果是一个文件,先打印后删除。
System.out.println("删除文件:"+f.getName());
f.delete();
}else {//是一个目录,递归调用(1),然后打印目录名字,然后删除。
delet(f);
System.out.println("删除目录:"+f.getName());
f.delete();
}
}
//最后一步,删除刚进来的根目录。
System.out.println("根目录"+rootfile.getName()+"已经彻底删除!");
rootfile.delete();
}
}
运行结果:
删除前
删除后
(2)删除指定的MP4文件
package 测试;
import java.io.File;
/*
* 递归删除带内容的目录案例
* 第一步:封装目录
第二步:获取目录下的所有文件或者文件夹的File数组
第三步:遍历该FIle数组,得到每一个FIle独享
第四步:判断该File对象是否是文件夹
是:回到第一步
否:删除
第五步:最终删除文件夹
*/
public class DeletTest {
public static void main(String[] args) {
File file=new File("E:\\迅雷下载");
delet(file);
}
private static void delet(File rootfile) {//(1)
// TODO Auto-generated method stub
File[] file=rootfile.listFiles();
for(File f:file) {
if(f.isFile()) {//如果是一个文件,先打印后删除。
//如果要想删除指定格式的文件,加个if条件语句就行。
if(f.getName().endsWith(".mp4")) {
System.out.println("删除文件:"+f.getName());
f.delete();
}
}else {//是一个目录,递归调用(1),然后打印目录名字,然后删除。
delet(f);
//System.out.println("删除目录:"+f.getName());
//f.delete();
}
}
//最后一步,删除刚进来的根目录。
//System.out.println("根目录"+rootfile.getName()+"已经彻底删除!");
//rootfile.delete();
}
}
删除MP4文件前
删除后