zoukankan      html  css  js  c++  java
  • 如何得到某一个文件夹下带某个特定后缀名的文件总数,注意这个文件夹下可以再套文件夹,再套的文件夹还可以套文件夹

    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");

    }
    }
  • 相关阅读:
    CSS效果:CSS实用技巧制作三角形以及箭头效果
    JS之this应用详解
    JS之iscroll.js的使用详解
    一个测试人员眼中的创业团队七宗罪
    一个WEB应用的开发流程
    一个年薪一百万的程序员:技术进阶之路
    一个十年IT从业者的职场感言:为什么不要自称是“程序员”
    一位程序员工作10年总结的13个忠告,却让很多人惋惜
    当个好的测试经理不容易,懂得这些很重要
    测试经理岗位职责及应具备的能力
  • 原文地址:https://www.cnblogs.com/1540340840qls/p/9843735.html
Copyright © 2011-2022 走看看