zoukankan      html  css  js  c++  java
  • 使用递归原理根据文件夹路径,删除文件夹

    在实际开发中往往会有删除某个目录的需求,而如果直接删除目录程序会报错,正确的删除方式应该是先删除该目录里的所有文件,再删除该目录。

    本篇博文通过递归的方式将整个目录以及其中的文件夹全部删除,具体实例如以下代码所示:

    package com.sjk.sheng;
    
    import java.io.File;
    
    public class Example {
        public static void main(String[] args) {
            //创建一个代表目录的file对象
            File file = new File("F://sjk.txt");
            //调用deleteDir删除方法
            deleteDir(file);
        }
        
        public static void deleteDir(File dir) {
            //判断传入的File对象是否存在
            if(dir.exists()) {
                //得到File数组
                File[] files = dir.listFiles();
                //遍历所有的子目录和文件
                for(File file : files) {
                    if(file.isDirectory()) {
                        //如果是目录,递归调用deleteDir()
                        deleteDir(file);
                    } else {
                        //如果是文件,直接删除
                        file.delete();
                    }
                }
                //删除完一个目录里的所有文件后,就删除这个目录
                dir.delete();
            }
        }
    }

    需要注意是,在java删除目录是从虚拟机直接删除而不走回收站,文件将无法恢复,因此在进行删除操作的时需谨慎!

  • 相关阅读:
    leetcode-409
    leetcode-836
    leetcode-1160
    leetcode-面试题13
    leetcode-695
    go的一些小lib
    leetcode-300
    cookie
    php上传文件
    PHP 文件创建/写入
  • 原文地址:https://www.cnblogs.com/sheng-sjk/p/7620562.html
Copyright © 2011-2022 走看看