递归列出一个目录下的所有文件(包括子文件)

论坛 期权论坛 脚本     
匿名网站用户   2020-12-21 09:08   11   0
import java.io.File;

public class Demo1 {

 public static void main(String[] args) {
  File dir=new File("f:\\aa");
  listAll(dir,0);
 }
 //level层级关系
 private static void listAll(File dir, int level) {
  //根目录
  System.out.println(getSpace(level)+dir.getName());
  level++;
  File[] files=dir.listFiles();
  for(int i=0;i<files.length;i++){
   if(files[i].isDirectory()){
    //还是目录,继续遍历
    listAll(files[i],level);
   }else{
    System.out.println(getSpace(level)+files[i].getName()); 
   }
  }
  
 }
 private static String getSpace(int level) {
  //拼接空格字符串
  StringBuilder sb=new StringBuilder();
  sb.append("|--");
  for(int x=0;x<level;x++){
   sb.insert(0, "|  ");
  }
  return sb.toString();
 }

}

运行结果:

|--aa
|  |--bb
|  |  |--1.txt
|  |--cc
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP