package cn.itcast.melon;
import java.io.*;
class FileDemo3{
public static void main(String[] args){
File dir=new File("d:\\test"); //在内存创建文件对象,指向 d:\test
showDir_level(dir,0);
}
public static void showDir_level(File dir,int level){ //分级显示
System.out.println(getLevel(level)+dir.getName()); //首先打印一次文件夹或文件夹的名字
level++;//级数自增
File[] files=dir.listFiles(); //将文件或文件夹封装成数组
for(int x=0;x<files.length;x++){ //对文件数组遍历
if(files[x].isDirectory()) //如果是目录
showDir_level(files[x],level); //递归,重新遍历目录下的元素
else
System.out.println(getLevel(level)+files[x]); //按级输出,文件或文件夹路径名
}
}
public static String getLevel(int level){ //获得级数,级数用符号代替
StringBuilder sb=new StringBuilder();
sb.append("|--");
for(int x=0;x<level;x++){
sb.insert(0,"| ");
}
return sb.toString();
}
} |