/** * 文件处理类 * @author zhangcd * @date 2017年1月3日 */ public class FileUtil { /** * 得到所有后缀的数目 * * @param directory 目录 * @param suffixFilter 后缀 * @param pageCount 返回结果集限制 * @return list 集合 * @throws ArchiveException */ public static int getSuffixFilesNum(File dirFile, String suffixFilter) { int num = 0; try { File[] tempDirs = dirFile.listFiles(new SuffixFileFilter(suffixFilter)); if (tempDirs != null && tempDirs.length > 0) { num = tempDirs.length; } } catch (Exception e) { logger.error("获取后缀列表异常", e); } return num; } static class SuffixFileFilter implements FilenameFilter { private String suffix; public SuffixFileFilter(String suffix) { this.suffix = suffix; } public boolean accept(File dir, String name) { return name.endsWith(suffix); } } public static void main(String[] args) { int doneNum = 0; List<String> pathList = FileUtil.listSubDir("D:/cc"); for (String path : pathList) { // "/contentFiles/系统号/当前日期/splitFiles"目录 String splitFiles = path + File.separator + "splitfiles"; // splitFiles下所有目录 List<String> splitFileList = FileUtil.listSubDir(splitFiles); // 遍历splitFiles目录 for (String splitFile : splitFileList) { doneNum += FileUtil.getSuffixFilesNum(new File(splitFile), ".done"); } } System.out.println(doneNum); } }