计算某个文件夹下的所有文件或根据一个或多个后缀名计算文件数或去掉某个或多个后缀名计算文件数

来源:互联网 发布:mac怎么改不了用户名 编辑:程序博客网 时间:2024/04/27 17:39

package com.nec.yjg.fileNumber;

import java.io.File;


public class DisPlayFileNumber {
 
 public static final String PATH = "E://web";
 public static int number = 0;
 public static String[] delext = new String[]{"scc"};
 public static String[] findExt = new String[]{"properties","java","txt"};
 public static int[] num = new int[findExt.length];
 public static void main(String[] args){
  inputPath();
 }
 
 // 引入文件夹路径
 public static void inputPath(){
  File file = new File(PATH);
  queryFileNumber(file);
  
  // 显示文件数
  System.out.println(number);
  
  //计算每个后缀名文件的个数
//  dipFileNumberByExt(findExt);
 }
 
 // 查询文件数量
 public static void queryFileNumber(File file){
  boolean flag = true;
  if(file.isFile()){
   
   // 除去一个或多个后缀名文件的个数计算
   flag = delExtension(file,delext);
   
   // 计算一个或多个后缀名文件的总数
//   flag = findExtension(file,findExt);
   
   // 计算每个后缀名文件的个数
   showFileByExt(file,findExt);
   if(flag){
    number++;
   }
  }else{
   File[] files = file.listFiles();
   for(int i = 0; i < files.length; i++){
    queryFileNumber(files[i]);
   }
  }
 }
 
 // 去掉某一个或多个后缀名的文件
 public static boolean delExtension(File file,String[] delext){
  boolean  flag = true;
  String fileName = file.getName();
  for(int i = 0; i < delext.length; i++){
   if(fileName.endsWith(delext[i])){
    flag = false;
    break;
   }
  }
  return flag;
 }
 
 // 查询固定一个后缀名文件或固定多个后缀名文件
 public static boolean findExtension(File file,String[] findExt){
  boolean flag = false;
  String fileName = file.getName();
  for(int i = 0; i < findExt.length; i++){
   if(fileName.endsWith(findExt[i])){
    flag = true;
    break;
   }
  }
  return flag;
 }
 
 // 计算每一个后缀名文件的个数
 public static void  showFileByExt(File file ,String[] findExt){
  String fileName = file.getName();
  for(int i = 0; i < findExt.length; i++){
   if(fileName.endsWith(findExt[i])){
    num[i]++;
   }
  }
 }
 
 // 显示每一个后缀名文件的个数
 public static void dipFileNumberByExt(String[] findExt){
  for(int i = 0; i < num.length; i++){
   System.out.println(findExt[i] + "的个数为" + num[i]);
  }
 }
}