码迷,mamicode.com
首页 > 其他好文 > 详细

02 File类的方法练习——遍历文件夹

时间:2019-11-21 16:51:11      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:目录   判断   new   stat   mic   void   for   inf   思路   

思路

  1. 需要遍历的文件夹 File
  2. 使用listFile列出下级文件及文件夹
  3. 判断得到的list是否为空,为空则输出当前文件夹名称
  4. 如果不为空,逐个判断是文件还是文件夹
  5. 如果是文件,输出文件名
  6. 如果是文件夹, 回到2步骤

从第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步骤
			}
		}
	}
}

  

演示

技术图片

02 File类的方法练习——遍历文件夹

标签:目录   判断   new   stat   mic   void   for   inf   思路   

原文地址:https://www.cnblogs.com/scopicat/p/11906483.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!