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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fmi110 高级黑马   /  2015-8-7 10:51  /  176 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

IO
  1. /*
  2. 需求:列出指定目录下文件或者文件夹,包含子目录中的内容
  3. 即,列出指定目录下的所有内容
  4. 分析:        1、创建抽象路径名File指向指定地址
  5.                 2、创建方法,接收File对像,递归显示文件和文件夹,  
  6. */
  7. import java.io.*;
  8. class  ListDirDemo
  9. {
  10.         public static void main(String[] args)
  11.         {
  12.                 File f = new File("C:\\Users\\hyning\\Desktop\\java基础笔记\\");
  13. //                File f = new File("E:\\");
  14.                 showDir(f,0);
  15. //                File[] f = File.listRoots();
  16. //                for(File fl:f)
  17. //                        showDir(fl);
  18.                
  19.                 System.out.println("Hello World!");
  20.         }

  21.         public static void sop(Object obj){
  22.                 System.out.println(obj);
  23.         }
  24.        
  25.         public static void showDir(File f,int level){  //显示目录和文件
  26.                 File[] file = f.listFiles();
  27.                 sop(space(level)+"Dir:"+f+"...."+level);//打印目录
  28.                 level++;//目录层级增加
  29.                 for(int i=0;i<file.length;i++){
  30. //                        if(file[i].isDirectory()&&!(file[i].isHidden())){
  31.                         if(file[i].isDirectory()){
  32.                                 showDir(file[i],level);
  33.                         }
  34.                         else if(file[i].isFile())
  35.                                 sop(space(level)+"File:"+file[i].getAbsolutePath()+"        "+level);//打印文件名
  36.                 }
  37.         }
  38.         public static String space(int level){  //添加层级目录的空格
  39.                 StringBuilder sp = new StringBuilder();
  40.                
  41. //                for(int i=0; i<level; i++)       
  42. //                        sp.append(" ");
  43. //                sp.append("|--");
  44.                
  45.                 sp.append("|--");
  46.                 for(int i=0; i<level; i++)
  47.                         sp.insert(0," ");
  48.                 return sp.toString();
  49.         }
  50. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马