Java文件的遍历和删除

把一个目录和里面的子孙目录文件遍历到世界的尽头
 
目录的绝对路径随意更换
 

public class FileDemo {
    //定义一个文件目录的层级
    static int level;

    public static void main(String[] args) throws IOException {
        //创建一个目录对象 文件路径随意更换
        File file = new File("C:\\code");
        parseFile(file);
    }

    public static void parseFile(File file) {
        if(file == null || !file.exists()) {
            return;
        }
        //给层级来加一
        level++;
        //获得文件对象的子文件对象列表
        File[] files = file.listFiles();
        //遍历这些子文件
        for (File f : files){
            //打印层级的缩进
            for (int i = 0; i < level; i++)
                System.out.print("\t");

            //打印文件
            System.out.println(f.getName());
            //判断这些子文件是否是目录
            if(f.isDirectory()){
                //递归的方式来遍历
                parseFile(f);
            }
        }
        //本层次遍历完毕把层级减回来
        level--;
    }
}

 
删除目录和目录下所有子目录和文件:
 

public class FileDemo1 {
    public static void main(String[] args) throws IOException {
        //创建一个目录对象 路径是要删除的文件夹
        File file = new File("C:\\aaa");
        deleteFile(file);
    }
    public static void deleteFile(File file){
        if(file == null || !file.exists()){
            return;
        }
        //获得文件对象的子文件对象列表
        File[] files = file.listFiles();
        //遍历这些子文件
        for (File f : files){
            //判断这些子文件是否是目录
            if(f.isDirectory()){
                //是文件夹的话继续递归 如果是发现文件直接删除
                deleteFile(f);
            }else {
                f.delete();
            }
        }
        //删除空文件夹
        file.delete();
    }
}

猜你喜欢

转载自www.cnblogs.com/seviyan/p/11648602.html
今日推荐