如何得到某一个文件夹下带某个特定后缀名的文件总数,注意这个文件夹下可以再套文件夹,再套的文件夹还可以套文件夹...

package com.cloudwalk.ibis.model.system;

import org.springframework.util.Assert;

import java.io.File;
import java.util.ArrayList;

/**
* @author qinlinsen
*/
public class FileTest {
private static final String FILE_NAME = "D:\\cloudwalk\\IBIS3.0\\src\\main\\resources\\cn\\cloudwalk\\mapper";

public static void countFileNumber(String directoryPath, String fileExtensiveName) {
ArrayList<File> filesWithSpecialExtensiveName = new ArrayList<File>();
ArrayList<File> filesWithoutSpecialExtensiveName = new ArrayList<File>();
Assert.notNull(directoryPath, "file is required");
Assert.notNull(fileExtensiveName, "file extensive name is required");
File file = new File(directoryPath);
Assert.state(file.isDirectory(), "This require is directory rather than file,please check you input");
//get all files of this directory
File[] files = file.listFiles();
iteratorDirectory(fileExtensiveName, filesWithSpecialExtensiveName, filesWithoutSpecialExtensiveName, files);
System.out.println("the total number of file with " + fileExtensiveName
+ " is " + filesWithSpecialExtensiveName.size() +
" without the " + fileExtensiveName + " the count number is : "
+ filesWithoutSpecialExtensiveName.size());
}

private static void iteratorDirectory(String fileExtensiveName, ArrayList<File> filesWithSpecialExtensiveName, ArrayList<File> filesWithoutSpecialExtensiveName, File[] files) {
for (File f : files) {
if(f.isDirectory()){
iteratorDirectory(fileExtensiveName,filesWithSpecialExtensiveName,filesWithoutSpecialExtensiveName,f.listFiles());
}
if (f.isFile()) {
//only ends with special extensive name can add to filesWithSpecialExtensiveName
String fileName = f.getName();
if (fileName.endsWith(fileExtensiveName)) {
filesWithSpecialExtensiveName.add(f);
} else {
filesWithoutSpecialExtensiveName.add(f);
}
}
}
}


public static void main(String[] args) {

countFileNumber("D:\\cloudwalk\\IBIS3.0\\src\\main\\resources\\com\\timo",".xml");

}
}

转载于:https://www.cnblogs.com/1540340840qls/p/9843735.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值