java利用SuffixFileFilter统计目录下特定后缀名文件的数目

摘要:
/***文件处理类*@authorzhangcd*@dateJanuary 32017*/publicclassFileUtil{/***获取所有后缀的数量**@paramdirectory目录*@paramsuffixFilter后缀*@paramageCount返回结果集限制*@returnlist集*@throwsArchiveException*/publicstatisticentgetSuffi
/**
 * 文件处理类
 * @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);
    }

}

免责声明:文章转载自《java利用SuffixFileFilter统计目录下特定后缀名文件的数目》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python中使用正则表达式获取两个字符中间部分创建对象_工厂方法(Factory Method)模式 与 静态工厂方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

DICOM文件修改方法

/// <summary> /// 读取dicom文件 /// </summary> /// <param name="srcdirectory"></param> /// <param name="desdirectory"></param> public static void R...

Centos7离线部署redis集群

  目录 一、安装redis需要的依赖 二、安装redis 三、部署redis集群 一、安装redis需要的依赖 1、安装GCC   1、检查是否安装gcc     命令: gcc  -v     如果能输出gcc版本信息,,说明安装了gcc。反之需要安装gcc   2、安装gcc     2.1创建目录/usr/local/gccSrc     2.2...

实验3- 熟悉常用的 HBase 操作

石家庄铁道大学信息科学与技术学院 实验报告 2018年----2019年第一学期 题目:熟悉常用的 HBase 操作 课程名称:大型数据库应用技术 班级:信1605-2班 姓名: XX学号: XXXXXXXX 指导教师: XXX 一、实验内容与完成情况:(实验具体步骤和实验截图说明) 实验...

Windows下pyside6开发环境搭建——基于pycharm

首先安装pycharm,这个相信不用多说。 这里创建一个新的名为test的项目,pycharm默认会顺带创建一个虚拟环境。 接下来我们安装pyside6,在终端中输入并执行以下命令 pip install pyside6   安装完成后配置拓展工具,需要用到的2个工具是 pyside6-uic 和 pyside6-designer pyside6-desi...

Java 调用底层接口的几种方法

Java 调用底层接口 Java 调用底层接口要通过动态链接库进行,在windows下是dll文件,linux是so文件 Java调用动态库所需要关心的问题:     如何装载文件,以及如何定位所要使用的方法;      数据类型是如何对应的;     如何给使用的方法传递参数;     如何获取返回的值。 目前调用底层接口用的比较多的技术...

Dozer 使用小结

目录   概述  安装  使用  Dozer支持的数据类型转换  Dozer的映射配置  参考 这篇文章是本人在阅读Dozer官方文档(5.5.1版本,官网已经一年多没更新了)的过程中,整理下来我认为比较基础的应用场景。 本文中提到的例子应该能覆盖JavaBean映射的大部分场景,希望对你有所帮助。 概述 Dozer是什么? Dozer是一个Jav...