利用递归打印出文件夹以及所有子文件夹的内容

31 阅读1分钟
import java.io.File;

public class PrintDirDemo {

    public static void main(String[] args) {

        PrintDirDemo pdd =   new PrintDirDemo();
        pdd.printDir(new File("F:/pic/美女"));
        System.out.println("print dir success!");
    }
    /**
     * 编写打印目录和文件的代码,在main()方法中调用此方法。
     * @param f 一个file对象
     */
    void printDir(File f){
        //1. 判断当前file对象是什么
        if(f.isFile()){
            //2. 如果是文件,则直接打印文件名称
            System.out.println(f.getName());
        }else{
            //3. 否则获取目录中的所有内容,分别打印
            //3.1 获取目录中的所有内容
            File files[] = f.listFiles();
            //3.2 打印
            for (File file : files) {
                //使用递归实现相同的功能
                printDir(file);
            }
        }
    }
}