标签:目录 判断 new stat mic void for inf 思路
从第2到第6封装成方法,使用递归的思想遍历。
import java.io.File;
public class ListFile
{	//文件序号
	static int COUNT = 0;
	public static void main(String[] args){
		//1.需要遍历的文件夹 File
		//2.使用listFiles列出下级文件及文件夹
		//3.判断得到的list是否为空,为空则输出当前文件夹名称
		//4.如果不为空,逐个判断是文件还是文件夹
		//5.如果是文件,输出文件名
		//6.如果是文件夹, 回到2步骤
		//1.需要遍历的文件夹
		File directory = new File("D:\\遍历测试文件夹");
		//调用遍历方法
		bianLi(directory);
		System.out.println("文件夹\""+directory.getAbsolutePath()
			+"\"已遍历完成!包含了文件及文件夹共"+COUNT+"个!");
		
	}
	//遍历方法
	public static void bianLi(File directory){
		COUNT++;
		System.out.println(COUNT+":"+directory.getAbsolutePath()+"  非空文件夹");
		
		//2.列出下级文件及目录
		File[] fileList = directory.listFiles();
		//3.判断得到的list是否为空,为空则输出当前文件夹名称
		if(fileList.length == 0){
			COUNT++;
			System.out.println(COUNT+":"+directory.getAbsolutePath()+"  空文件夹");
			return;
		}
		//4.如果不为空,逐个判断是文件还是文件夹
		for(File file : fileList){
			//5.如果是文件,输出文件名
			if(file.isFile()){
				COUNT++;
				System.err.println(COUNT+":"+file.getAbsolutePath()+"  文件");
			}else{//6.1 如果是文件夹 
				bianLi(file);//6.2 回到2步骤
			}
		}
	}
}

标签:目录 判断 new stat mic void for inf 思路
原文地址:https://www.cnblogs.com/scopicat/p/11906483.html