java遍历给定目录,树形结构输出所有文件,包括子目录中的文件
来源:互联网 发布:淘宝轮播图片750 尺寸 编辑:程序博客网 时间:2024/04/29 21:24
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的base fileLevel = 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[i].isDirectory()) { System.out.println(createPrintStr(list[i].getName(), fileLevel)); fileLevel ++; // 递归子目录 readFile(list[i].getPath()); fileLevel --; } else { System.out.println(createPrintStr(list[i].getName(), fileLevel)); } } } public static void main(String[] args) { ReadDirectory rd = new ReadDirectory(); String dirPath = "E:\\openstack学习资料\\云计算实战"; rd.printDir(dirPath); rd.readFile(dirPath); }}
结果:
0 0
- java遍历给定目录,树形结构输出所有文件,包括子目录中的文件
- java遍历给定目录,树形结构输出所有文件,包括子目录中的文件
- 遍历目录内所有子目录及子目录中的文件
- java 文件 读取目录下的所有文件(包括子目录)
- java遍历目录下的包括子目录下的所有文件
- java程序 一次改变指定目录下所有文件编码(包括子目录中的文件)
- java读取目录下(包括子目录)的所有文件
- 使用Shell遍历目录及其子目录中的所有文件
- Java作业:给定任意一个目录 ,以树形方式展示出该目录中的所有子目录和文件。另外,在展现的时候将目录排在上面,文件排在下面。每一层要加上缩进
- C# FTP 遍历所有文件包括子目录文件下载
- unix下面目录的详细操作(包括实现给定目录遍历下面所有文件)
- 遍历目录和子目录中的文件
- 查找某个目录下的所有文件(包括子目录)
- python列举目录(包括子目录)下的所有文件
- 查找某个目录下的所有文件(包括子目录)
- 获取文件夹中的所有文件,包括子目录中的
- 一段可以在UNIX下,读取当前目录下所有文件(包括子目录中的文件)的文件名的程序
- 遍历目录下所有各级子目录文件的全路径
- MySQL高可用架构在业务层面的分析研究
- dos
- DOM综合案例、SAX解析、StAX解析、DOM4J解析
- HDU Crixalis's Equipment (贪心)
- MAVEN解决Cannot change version of project facet Dynamic web module to 2.5
- java遍历给定目录,树形结构输出所有文件,包括子目录中的文件
- 使用DrawerLayout创建侧滑菜单
- HDU-ACM1014
- nyoj 716 River Crossing(dp)
- Android 缓存工具DiskLruCache用法
- sdut 3262 Circle of Friends tarjan
- C++Builder将对话框封装进Dll
- DIV+CSS 网页兼容性问题(IE6 IE7 IE8 IE9 火狐 chorm)
- JAVA——Date类、Calendar类