文件深度遍历以及删除

来源:互联网 发布:被x是什么体验 知乎 编辑:程序博客网 时间:2024/06/05 12:47
public class Shedubianliwenjianjia {    public static void main(String[] args){        File file = new File("G:\\partfiles");        //listAll(file,0);        removeDir(file);    }    /*     * 深度遍历文件夹     */    public static void listAll(File dir,int level){        //输出文件夹        System.out.println(dir.getAbsolutePath());        //声明一个File数组用于存储File文件        File[] files=dir.listFiles();        for(int x=0;x<files.length;x++){            if(files[x].isDirectory()){                //当前路径指向的是一个文件夹                listAll(files[x],level+1);            }else{                System.out.println(getSpace(level)+files[x].getName());            }        }    }    //创建缩进    private static String getSpace(int level) {        StringBuilder sb = new StringBuilder();        for(int i=0;i<level;i++){            sb.append("---");        }        return sb.toString();       }    //删除一个带内容的文件夹    //原理:从里往外删除    public static void removeDir(File dir){        File[] files=dir.listFiles();        for(int x=0;x<files.length;x++){            if(files[x].isDirectory()){                removeDir(files[x]);            }else{                System.out.println(files[x].delete());            }        }        dir.delete();//删除空文件夹    }}
原创粉丝点击