java 文件夹结构遍历_java遍历目录结构

本文介绍如何使用Java遍历并打印一个目录的结构,采用前序遍历算法,通过递归方式实现。示例代码包括printDirectory方法和辅助方法getTap,能够输出具有层次感的目录结构。
摘要由CSDN通过智能技术生成

打印一个目录的结构,一个目录可以看成一棵树,因此算法的核心是树的遍历,树的遍历又有前序遍历、中序遍历和后序遍历,本文章中使用前序遍历,另外由于树的定义具有递归性质,因此算法采用递归的方式,程序如下:

public static void printDirectory(File f,int depth){

if(!f.isDirectory()){//如果不是目录,则打印输出

System.out.println(getTap(depth)+f.getName());

}else{

File[] fs=f.listFiles();

System.out.println(getTap(depth)+f.getName());

depth++;

for(int i=0;i

File file=fs[i];

printDirectory(file,depth);

}

}

}

其中getTap方法是辅助方法,目的是使输出具有一定的层次关系,方法定义如下:

private static String getTap(int depth){

StringBuffer tap=new StringBuffer();

for(int i=0;i

tap.append("------");

}

return tap.toString();

}

测试目录是test,结构如下图所示:

b5b0ed060fecdbbae12fd920321a2f60.png

测试程序就是简单的调用printDirectory方法,如下所示:

public static void main(String[] args){

File f=new File("test");

printDirectory(f,0);

}

程序的输出如下:

test

------11

------------111

------------------1111.txt

------------------1112.txt

------------112.txt

------12

------------123.txt

------13.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值