Java 使用io + 递归遍历多级目录以及文件

使用递归调用自身来遍历文件夹下的文件
技术点: io + 递归
import java.io.File;

public class Iodemo01 {

    public static void main(String[] args) {

        showFile("C:/a");

    }


    /**
     *  遍历文件下所有文件
     * @param path 需要遍历的文件夹
     */
    public static void showFile(String path){
        // 给传入的路径创建file类
        File file = new File(path);

        // 判断是否是一个文件夹
        if (file.isDirectory()){ // 文件夹
            // 拿到文件下所有的文件
            File[] files = file.listFiles();
            // 遍历文件下所有文件夹
            for (File file1 : files) {
                // 判断遍历出的元素是否是文件夹
                if (file1.isDirectory()){ // 是文件夹

                    // getAbsolutePath() 获取file的路径
                    showFile(file1.getAbsolutePath()); // 是文件夹递归 调用自己
                    System.out.println("文件夹: " + file1.getName());

                }else { // 不是文件夹
                    System.out.println("是文件: " + file1.getName());
                }

            }

        }else { // 文件
            System.out.println("这不是一个文件夹!");
        }

    }

}