如何输出一个路径底下的所有目录、文件以及目录中的文件

 

一、设计思路

想得到某一个路径的File对象,如果该对象是目录的话,则使用该对象的listFiles列出该目录底下的所有file对象,形成file数组,遍历该file数组,对数组中每一个file对象使用递归。递归结束后,输出文件名。这是一种深度优先搜索的策略。


二、代码实现

package day1105;

import java.io.File;


public class TestFile {

    /**
     * 输出一个路径底下的所有目录、文件以及目录中的文件
     */
    public static void print(String path) {
        File file = new File(path);
        getList(file);
    }

    public static void getList(File file) {
        if (file.isDirectory()) {
            File[] files = file.listFiles();
            if (files != null) {
                for (File temp : files) {
                    getList(temp);
                }
            }
        }
        System.out.println(file);
    }

    public static void main(String[] args) {
        print("g:\\");
    }
}