100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > java遍历给定目录 树形结构输出所有文件 包括子目录中的文件

java遍历给定目录 树形结构输出所有文件 包括子目录中的文件

时间:2019-12-23 19:07:23

相关推荐

java遍历给定目录 树形结构输出所有文件 包括子目录中的文件

/jenson138/p/4691418.html

import java.io.File;public class ReadDirectory {// 文件所在的层数private int fileLevel;/*** 生成输出格式* @param name 输出的文件名或目录名* @param level 输出的文件名或者目录名所在的层次* @return 输出的字符串*/public String createPrintStr(String name, int level) {// 输出的前缀String printStr = "";// 按层次进行缩进for (int i = 0; i < level; i ++) {printStr = printStr + " ";}printStr = printStr + "- " + name;return printStr;}/*** 输出初始给定的目录* @param dirPath 给定的目录*/public void printDir(String dirPath){// 将给定的目录进行分割String[] dirNameList = dirPath.split("\\\\");// 设定文件level的basefileLevel = dirNameList.length;// 按格式输出for (int i = 0; i < dirNameList.length; i ++) {System.out.println(createPrintStr(dirNameList[i], i));}}/*** 输出给定目录下的文件,包括子目录中的文件* @param dirPath 给定的目录*/public void readFile(String dirPath) {// 建立当前目录中文件的File对象File file = new File(dirPath);// 取得代表目录中所有文件的File对象数组File[] list = file.listFiles();// 遍历file数组for (int i = 0; i < list.length; i++) {if (list.isDirectory()) {System.out.println(createPrintStr(list.getName(), fileLevel));fileLevel ++;// 递归子目录readFile(list.getPath());fileLevel --;} else {System.out.println(createPrintStr(list.getName(), fileLevel));}}}public static void main(String[] args) {ReadDirectory rd = new ReadDirectory();String dirPath = "D:\\有道词典";rd.printDir(dirPath);rd.readFile(dirPath);}}

输出结果如下:

分类:JAVA基础知识

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。