遍历给定文件夹中的所有文件以及文件夹 P79

本文介绍了一个Java程序,通过递归遍历指定文件夹下的所有子文件和目录,并打印出相应的层级目录结构。程序使用了File类和递归方法实现目录结构的打印,展示了如何在Java中高效地操作文件系统。
import java.io.File;

public class test04_02 {
	//设置level用来表示当前目录相对于给定目录的深度,用来打印Tab占位符
	private int level = 0;
	
	public void printDir(File file){
		printDir1(file, level);
	}

	public void printDir1(File file,int level){
		for(int i=0;i<level;i++){
			System.out.print('\t');
		}
		if(file.isDirectory()){
			System.out.println(getPath(file));
			String[] strL = file.list();//获取目录下所有文件列表
			for(int i = 0; i<strL.length;i++){
				//递归的调用自身,同时将level参数递增用来打印Tab占位符
				printDir1(new File(file.getPath() + "\\" + strL[i]),level+1);
			}
		}else{//若是单独文件,则直接打印
			System.out.println(getPath(file));
		}
		//System.out.println(level);
	}
	//将文件名称 以 “\\”符号分割,取其最后的一项,如D\\360--->360
	 public  String  getPath(File mFile){
		 String fullPath = mFile.getPath();
		 String[] str = fullPath.split("\\\\");
		 return str[str.length - 1];
	}	 
	 public static void main(String[] args){
		     test04_02 demo = new test04_02();
			File newfile = new File("D:\\test");
			demo.printDir(newfile);
	 }

}

结果:


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值