A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© haha_hyq 初级黑马   /  2012-9-19 23:38  /  1208 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如何删除一个带内容的目录?  怎么解决

1 个回复

倒序浏览
public class RemoveDirectoryTest {

        /**
         * @param args
         * 需求:删除一个带内容的目录
         * 思路:
         * 1, 删除完文件夹原理是:必须是从里往外删除,必须保证该文件夹为空,该文件夹才可以被删除
         * 2, 它里面到底有多少级层级目录,是不清楚的,所以必须用到递归
         */
        public static void main(String[] args) {
                //封装目录
                File dir = new File("D:\\abc");
               
                //调用自定义方法removeDir
                 removeDir(dir);
        }

        public static void removeDir(File dir) {
                //1. 列出指定目录下的所以文件对象
                File[] files = dir.listFiles();

                //2. 遍历该数组中所有文件对象,并对其进行判断
                for(File file : files){
                        //对file对象进行继续判断,如果是文件夹,继续调用该方法,继续判断
                        if(file.isDirectory()){//如果是目录继续绩效判断
                                removeDir(file);//递归调用removeDir方法
                        }else{
                                System.out.println(file.toString()+"    :"+file.delete());//调用File的delete方法删除文件
                        }
                }
                System.out.println(dir.toString()+"    :"+dir.delete());//delete方法可以删除文件或文件夹       
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马