黑马程序员技术交流社区

标题: File问题一 [打印本页]

作者: haha_hyq    时间: 2012-9-19 23:38
标题: File问题一
如何删除一个带内容的目录?  怎么解决
作者: 何小红    时间: 2012-9-19 23:39
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方法可以删除文件或文件夹       
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2