前段时间去面试的题目,在这写下来: 由于本人比较菜,大家有其它好的方法,不妨建议下 package com.teedry.interview; import java.io.File; /** * * <p> * 递归打印出指定路径下的目录及其子目录文件夹名称 * </p> * @author ZENGZHANGHUA * @version 1.0 */ public class PrintCatalogue { public void print(String filePath,int i){ File file = new File(filePath); long startTime = System.currentTimeMillis(); dgPrint(file,i); long endTime = System.currentTimeMillis(); long costTime = endTime - startTime; System.out.println("共花费时间:"+costTime +"毫秒"); } /** * * <p> * * </p> * @param file * @param i 目录级别 -表示当前路径的下一级,如此类推 */ public void dgPrint(File file,int i){ if(file.isDirectory()){ for(int j=0;j<i;j++){ System.out.print("-"); } i++; System.out.println(file.getName()); for(File tmpFile : file.listFiles()){ dgPrint(tmpFile,i); } } } public static void main(String[] args){ String filePath = "D:/test"; new PrintCatalogue().print(filePath,0); } }