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


    /**
     * 文件处理类
     * @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);
        }
    
    }
  • 相关阅读:
    JAVAGUI设计步骤
    JAVA接口基础知识总结
    静态关键字static用法。
    JAVA面向对象的多态性
    java封装的概念
    多线程
    关于集合类间的区别
    JAVA——异常
    java——内部类
    Java——接口
  • 原文地址:https://www.cnblogs.com/lingbing/p/6652569.html
Copyright © 2020-2023  润新知