文件夹和文件的递归统计

写了一个递归统计文件的程序,练习哈思维,呵呵

package org.forever.testlucene;

import java.io.File;

//递归统计文件的数量
public class FileCounter {

	public static void main(String[] args) {
		int[] array = new int[]{0,0};
		print(new File("D:\\root"),1,array);
		System.out.println("该目录下面共有文件夹个数:"+array[0]);
		System.out.println("该目录下面共有文件个数:"+array[1]);
		
		
	}
	
	/**
	 * 打印指定文件夹下面的文件夹和文件的名字,统计该文件夹下面的文件夹数量和文件数量
	 * @param file 根文件夹
	 * @param level 深度从1开始算
	 * @param array 存放统计个数的数据,[0]文件夹个数,[1]文件个数
	 */
	public static void print(File file,int level,int[] array){
		if(file.isDirectory()){
			array[0]++;
			File[] files = file.listFiles();
			printBlank(level);
			System.out.println(file.getName());
			for (File item : files) {
				print(item,level+1,array);
			}	
		}else{
			array[1]++;
			printBlank(level);
			System.out.println(file.getName());
		}
	}
	
	public static void printBlank(int level){
		for (int i = 1; i < level; i++) {
			System.out.print("  ");
		}
	}
	
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值