首页 > 代码库 > java基础知识回顾之javaIO类--File类应用:删除带内容的目录

java基础知识回顾之javaIO类--File类应用:删除带内容的目录

/**
 * 深度删除一个带内容的目录
 * 原理:必须从里往外删除,需要深度遍历
 * @author Administrator
 *
 */

public class FileDeleteList {    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        File dir = new File("E:\\复件 demodir");        removedir(dir);    }    /**     * 递归的从里向外删除文件盒目录     * @param dir     */    private static void removedir(File dir) {        if(dir.exists()){            File[] files = dir.listFiles();            for(File file:files){            /*    if(file.isDirectory()){//文件是目录继续遍历里面的目录,直到找到文件目录里面的文件                    removedir(file);                }else{                    System.out.println(file.getAbsolutePath()+file.delete());//删除目录里面的文件                }*/                if(file.isFile()){//是否是文件,是文件的话,直接删除                    System.out.println(file.getAbsolutePath()+file.delete());//删除目录里面的文件                }else{                    removedir(file);//不是文件,是目录,递归的遍历,直到是文件                }            }            System.out.println(dir.getAbsolutePath()+dir.delete());//删除目录从里向外删除        }else{            throw new RuntimeException("删除的目录文件不存在");        }    }}