递归遍历磁盘目录

                                               递归算法访问电脑F盘下的目录
import java.io.File;
import java.util.ArrayList;
import java.util.List;


public class Guangdu {
static int x=1;
    static File f=new File("F:");
public static void main(String[] args) {
System.out.println("根:"+f.getName());
new Guangdu().a();
}
void a(){
System.out.println("********第"+x+"层********");
File[] f1=f.listFiles();
List<File> l1=new ArrayList<File>();
for(File i:f1){
System.out.println(i.getName());
if(i.isDirectory()){
l1.add(i);
}
}
System.out.println("********第"+x+"层********");
digui(l1);
}
void digui(List<File> l1){
x++;
System.out.println();
System.out.println("********第"+x+"层********");
List<File> l2=new ArrayList<File>();
for(File j:l1){
System.out.println("目录["+j.getAbsolutePath()+"]:");
File[] f=j.listFiles();
for(File j1:f){
System.out.println(j1.getName());
if(j1.isDirectory()){
l2.add(j1);
}
}
}
if(l2.isEmpty()){
System.out.println("********递归出口********");
}else{
System.out.println("********第"+x+"层********");
digui(l2);
}
}
}

猜你喜欢

转载自blog.csdn.net/qq_40016949/article/details/80207792