0
点赞
收藏
分享

微信扫一扫

列出目录下的所有文件名,带层次

慕犹清 2022-11-04 阅读 127

public class FileDemo {

public static void main(String[] args) {

File dir=new File("G:\\360驱动大师目录");

showDir(dir,0);



}

//打印目录下第一级内容

public static void listDemo(){

File f=new File("c:\\");

String[] names=f.list();//调用list方法的对象必须是目录

for(String name:names){

System.out.println(name);

}

}



//获取系统磁盘名称

public static void listRootsDemo(){

File[] files=File.listRoots();//获取盘符

for(File f:files){

System.out.println(f);

}



}

//过滤方式获取文件

public static void listDemo_2(){

File dir=new File("F:\\SVN_D\\DD\\src\\com\\ygl");

String[] arr=dir.list(new FilenameFilter(){



@Override

public boolean accept(File dir, String name) {

// TODO Auto-generated method stub

/*if(name.endsWith(".java")){

return true;

}

else{

return false;

}*/

return name.endsWith(".java");


}










});

System.out.println(arr.length);

for(String name:arr){


System.out.println(name);

}

}

//listFiles()获取当前目录名称对象

public static void listFiles_Demo(){

File dir=new File("G:\\");

File[] files=dir.listFiles();//当前目录下内容

for(File f:files){

System.out.println(f.getName());//文件名,不带路径

}

}



//列出目录下的所有文件,带层次

public static void showDir(File dir,int level){


//System.out.println(getLevel(level)+dir.getName());





if(dir!=null){


if(!dir.isHidden()&&dir.isDirectory()){


System.out.println(getLevel(level)+dir.getName());


level++;


File[] files=dir.listFiles();


if(files!=null){


for(int i=0;i<files.length;i++){


showDir(files[i],level);


}


}


}else{


System.out.println(getLevel(level)+dir);


}

}

}

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();

}



}

举报

相关推荐

0 条评论