A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

从键盘接收一个文件夹路径,把文件夹中的所有文件以及文件夹的名字按层级打印, 例如:
aaa是文件夹,里面有bbb.txt,ccc.txt,ddd.txt这些文件,有eee这样的文件夹,eee中有fff.txt和ggg.txt,打印出层级来
aaa
        bbb.txt
        ccc.txt
        ddd.txt

        eee
                fff.txt
                ggg.txt

2 个回复

正序浏览
  1. public static void main(String[] args) {


  2.                 print(inDir(),0);
  3.         }

  4.         /*
  5.          * 键盘录入方法
  6.          * 返回值类型:File
  7.          * 参数:无
  8.          */
  9.         public static File inDir() {
  10.                 Scanner sc = new Scanner(System.in);
  11.                 System.out.println("请输入一个文件夹路径:");
  12.                 while(true) {
  13.                         File dir = new File(sc.nextLine());
  14.                         if(!dir.exists()) {
  15.                                 System.out.println("你输入的不是文件夹路径,请输入文件夹路径:");
  16.                         } else if(dir.isFile()) {
  17.                                 System.out.println("你输入的是文件路径,请输入文件夹路径:");
  18.                         } else {
  19.                                 return dir;
  20.                         }
  21.                 }
  22.         }
  23.        
  24.         /*
  25.          * 打印文件方法
  26.          * 返回值类型:void
  27.          * 参数:File
  28.          */
  29.         public static void print(File dir,int t) {
  30.                
  31.                 for(int i = 0; i < t; i++) {
  32.                         System.out.print("   ");                        //t可规定插入几个空格
  33.                 }
  34.                 System.out.println(dir.getName());                //输入文件名
  35.                 if(dir.isDirectory()) {                                        //若是文件夹
  36.                         File[] arrDir = dir.listFiles();                //列出存如数组
  37.                         for (File file : arrDir) {                        //遍历
  38.                                 print(file,t +4);                                //递归调用
  39.                         }
  40.                 }
  41.         }
复制代码
回复 使用道具 举报
已解决。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马