获取文件夹下某一种文件 ——— 以获取文件夹下的TXT文件为例

问题场景:

我们日常的生活中在创建文件时,是文件夹中夹杂着各种问价或许还有嵌套文件夹,若某一天我们需要统计某种文件时,那我们应该如何解决呢?
若不清楚那就继续以下内容吧


问题描述:

统计某种文件时,去一个一个数是及其麻烦的,假若一个文价没有嵌套文价夹,那可以去数(在文件数量小的情况下),若是一个文件夹一个文件夹慢慢去统计那得多废时间,因此有了以下的内容——获取文件夹下的TXT文件为例
此时就需要用到我们的递归函数(什么是递归函数呢那就去这里吧 --> 递归函数-阶乘


思路分析:


首先我们得定义一个变量存储文件的个数 ----1
其次我们得判断这个文件夹是否为空,若为空了就不必去统计了,若不为空则继续进行判断传入的文件是一个文件还是文件夹。—2
若是文件夹,获取文件夹的名字,判断是否以“.txt”结尾,若是则变量加1;—3
若是文件夹,还得继续获取文件夹下的所有文件(用List存),再用集合中的每一个文件去进行判断(进入1),依次循环(递归函数思维)


实例代码:

上代码 ---egm、egm.......:
		//创建一个文件,文件的路径为需要查询文件的路径
		File file = new File("C:"+File.separator +"javaEclipseTest");
		
		//调用countFiles方法
		int countFile = countFiles(file);
		System.out.println(countFile);

	}
	
	//定义一个统计文件的方法
	public static int countFiles(File file) {
		int count = 0;//定义一个变量存储文件个数
		if(file != null) {//判断文件是否为空
			if(file.isFile()) {//判断文件是否是文件
				if (file.getName().endsWith(".txt")) {//获取文件名,判断文件是否以".txt"结尾
					count++;//若是则自增
				}
			}if(file.isDirectory()) {//判断文件是否是文件夹
				File[] listFiles = file.listFiles();//获取文件夹下的所有文件用list存
				for (File file2 : listFiles) {//遍历每个文件
					count = count + countFiles(file2);//递归思想,再进行文件的判断
				}
			}			
		}
		return count;//返回计数值
				
	}

总结

每日一题,我最棒!!!!!!!
奥里给!!!!!!
冲、冲、冲…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值