递归遍历文件和递归删除文件

小案例

package com.iopractise;

import java.io.File;

/**
 * 使用递归的方式遍历文件
 */
public class Demo20 {
    public static void main(String[] args) {
//        listDir(new File("D:\\雍和宫MGU工作"));
        deleteDir(new File("D:\\雍和宫MGU工作"));
    }

    public static void listDir(File dir) {
        File[] files = dir.listFiles();
        System.out.println(dir.getAbsolutePath());
        if (files != null && files.length > 0) {
            for (File file : files) {
                if (file.isDirectory()) {
                    listDir(file); // 递归
                } else {
                    System.out.println(file.getAbsolutePath());
                }
            }
        }
    }

    public static void deleteDir(File dir){
        File[] files = dir.listFiles();
        if(files != null && files.length > 0){
            for(File file : files){
                if(file.isDirectory()){
                    deleteDir(file); // 递归
                }else{
                    // 删除文件
                    System.out.println(file.getAbsolutePath() + "删除" + file.delete());
                }
            }
        }
        System.out.println(dir.getAbsolutePath()+"删除:"+dir.delete());
    }

}

  

 

posted @ 2021-02-07 22:40  ~码铃薯~  阅读(73)  评论(0编辑  收藏  举报