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]);
}
}
}