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删除目录是从虚拟机直接删除而不走回收站,文件将无法恢复,因此在进行删除操作的时需谨慎!

  • 相关阅读:
    四则运算1
    四则运算3
    数组1
    四则运算单元测试
    四则运算2
    数组3
    数组2
    spring aop对service层日志和异常的处理
    Linux设置开机启动
    数据仓库开发——Kettle使用示例
  • 原文地址:https://www.cnblogs.com/sheng-sjk/p/7620562.html
Copyright © 2011-2022 走看看