码迷,mamicode.com
首页 > 其他好文 > 详细

使用递归原理根据文件夹路径,删除文件夹

时间:2017-10-02 19:21:54      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:directory   director   遍历   ast   log   port   博文   回收站   logs   

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

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

package cn.itcast.snake;

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

使用递归原理根据文件夹路径,删除文件夹

标签:directory   director   遍历   ast   log   port   博文   回收站   logs   

原文地址:http://www.cnblogs.com/sheng-sjk/p/7620562.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!