JAVA后端面试《删除一个文件夹下的所有文件和目录》

Java中删除一个文件夹下的所有文件和目录

1.代码实现

package com.wpq.car.dto;
import java.io.File;

public class Test {

    public static void main(String[] args) {
        File file = new File("D:\\TEST");
        boolean result = deleteAll(file);
        System.out.println(result==true?"文件删除成功":"文件删除失败");
    }
    //封装一个方法:用来实现文件夹的删除,返回一个布尔值,判断是否删除成功
    public static boolean deleteAll(File file){
        //1.拿到文件后,第一步判断是否为空或不存在
        if (file==null || !file.exists()){
            System.out.println("文件不存在");
            return false;
        }
        //2.调用File的listFiles方法拿到目录下所有的文件对象
        File[] files = file.listFiles();
        //3.遍历文件对象数组
        for (File f:files) {
            //4.判断文件对象是不是目录
            if (f.isDirectory()){
                System.out.println(f.getName());
                //5.如果是目录,就递归
                deleteAll(f);
            }else{
                System.out.println(f.getName());
                //6.如果是文件,就直接删除
                f.delete();
            }
        }
        //7.前面的遍历已经把TEST目录下所有文件都删除了
        //delete方法只有在file是空目录的前提下,才能成功删除
        file.delete();
        return true;
    }
}

2.代码优化

package com.wpq.car.dto;
import java.io.File;

public class Test {

    public static void main(String[] args) {
        File file = new File("D:\\TEST");
        boolean result = deleteAll(file);
        System.out.println(result==true?"文件删除成功":"文件删除失败");
    }
    //封装一个方法:用来实现文件的删除,返回一个布尔值,判断是否删除成功
    public static boolean deleteAll(File file){
        //1.拿到文件后,第一步判断是否为空或不存在
        if (file==null || !file.exists()){
            System.out.println("文件不存在");
            return false;
        }
        //2.调用File的listFiles方法拿到目录下所有的文件对象
        File[] files = file.listFiles();
        //3.遍历文件对象数组
        for (File f:files) {
            //4.判断文件对象是不是目录:是目录就递归,是文件就删除
            boolean b= f.isDirectory()==true?deleteAll(f):f.delete();
        }
        //3.前面的遍历已经把TEST目录下所有文件都删除了
        //delete方法只有在TEST是空目录的前提下,才能成功删除
        file.delete();
        return true;
    }
}
  • JAVA API中对File的delete方法的说明
    在这里插入图片描述
发布了18 篇原创文章 · 获赞 6 · 访问量 1862

猜你喜欢

转载自blog.csdn.net/weixin_43766298/article/details/103883259