JAVA File类 打印目录树状结构图 递归算法

摘要:
要实现把制定目录下的所有文件,按照树状结构打印出来的目的。
JAVA File类 打印目录树状结构图 递归算法第1张
要实现把制定目录下的所有文件,按照树状结构打印出来的目的。
代码如下:
package cn.bjsxt.io;
import java.io.File;
public class FileTree {
public static void main(String[] args) {
File f=new File("E:/有用的文档"); //假设打印这个目录下的所有文件
printTree(f, 0); //从自身开始,从0
}
public static void printTree(File f,int level){
for(int i=0;i<=level-1;i++){
System.out.print("-"); //最开始没有-,一级目录前多一个"-"
}
System.out.println(f.getName());
if(f.isDirectory()){
File[] files=f.listFiles();
for(File j:files){
printTree(j,level+1); //增强For循环,j是参数.每次结束再用printTree(),
level层次要加一次.
}
}
}
}

免责声明:文章转载自《JAVA File类 打印目录树状结构图 递归算法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇超详细动手搭建一个Vuepress站点及开启PWA与自动部署docker的thin pool 和 ulimit问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

FreeRTOS再学习——2nd——信号量和优先级反转问题

信号量: 信号量是操作系统中重要的一部分,信号量一般用来进行资源管理和任务同步,FreeRTOS中信号量又分为二值信号量、计数型信号量、互斥信号量和递归互斥信号量。 不同的信号量其应用场景不同,但有些应用场景是可以互换着使用的。 二值信号量只有0和1,表示信号量的两个状态,适用于立flag 信号量的另一个重要的应用场合就是任务同步,用于任务与任务或中断与...

文件重命名(递归)

假设需要写入日志文件,但是不希望日志文件太大影响程序性能,这时需要将原文件重命名 //判断文件是否大于10M //取得文件大小 if (File.Exists(logpath)) { FileInfo MyFileInfo = new FileInfo(...

MySql 获取当前节点及递归所有上级节点

-- MySql 获取当前节点及递归所有上级节点 -- 参数说明:resultField:查询返回字段,idd 要查询的资源ID值,idFieldName ID字段名,parentIdFieldName 上级ID字段名,tableName 表名,isContainMySelf 是否包含自己 DROP procedure IF EXISTS pro_g...

ASP.net MVC、Extjs多级目录(理论上可以无限级、非递归)treepanel显示和数据库(多级目录)存储结构的设计(上篇)

1、数据库(多级目录)存储结构的设计1.1、表设计           1.2、数据显示及相关信息: 升序:   select C.tre_parent,B.tre_name as tre_parentname,C.tre_children as tre_children,A.tre_name as tre_childrenname,C.tre_ch...

ex06 汉诺塔2 非递归解法

解法示意 需借助二进制 不妨以四层塔为例走一个 我把左、中、右三根柱子依次称为 A, B, C 金片默认都在 A 塔 n 片金片从小到大依次编号为 0, 1, 2, ... n-1 设初始值为 0000(2) 按 8, 4, 2, 1 称呼二进制的各位,对应关系如下图所示 step1 开始累加,每次加一 0000(2) => 0001...

oracle递归查询子节点

  通过子节点向根节点追朔. select * from persons.dept start with deptid=76 connect by prior paredeptid=deptid 通过根节点遍历子节点(不包含根节点). select * from persons.dept start with paredeptid=0 connect by...