文件夹按层级打印

package com.heima.test;

import java.io.File;
import java.util.Scanner;

public class Test15 {

    /**文件夹按层级打印 * @param args */
    public static void main(String[] args) {
        File dir = getDir();
        printLev(dir,0);
    }
    public static void printLev(File dir,int lev) {
        File[] subFiles = dir.listFiles();
        for (File subFile : subFiles) {
            for(int i = 0;i < lev;i++){
                System.out.print("\t");
            }
            System.out.println(subFile);
            if(subFile.isDirectory()){
                printLev(subFile,++lev);
            }
        }
    }
    public static File getDir(){
        Scanner sc = new Scanner(System.in);
        System.out.println("输入文件夹路径:");
        while(true){
            String line = sc.nextLine();
            File dir = new File(line);
            if(!dir.exists()){
                System.out.println("文件夹不存在!重输");
            }else if(dir.isFile()){
                System.out.println("不是文件夹!重输:");
            }else{
                return dir;
            }
        }
    }
}

你可能感兴趣的:(文件夹按层级打印)