一、练习
利用给定的资料使用File的api实现统计某个目录(包括子目录)中的所有不同格式文件的需求。
package day1104;
import java.io.File;
import java.util.Locale;
import java.util.Scanner;
public class Demo01 {
private static int counthtml = 0;
private static int countcss = 0;
private static int countjs = 0;
private static int countpng = 0;
private static int countjpeg = 0;
private static int countjpg = 0;
private static int countgif = 0;
private static int number;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Counter(new File("G:\\实训1021\\作业\\assets"));//需要进行查找的文件路径G:\实训1021\作业\assets
do {
System.out.println("请输入一个需要执行的序号:" + "\n" + "\t" + "1:统计html文件" + "\n" + "\t" + "2:统计css文件" + "\n" + "\t" + "3:统计js文件" + "\n" + "\t" + "4:统计图片文件" + "\n" + "\t" + "5:退出");
number = sc.nextInt();
switch (number) {
case 1:
System.out.println("html的个数为: " + counthtml);
break;
case 2:
System.out.println("css的个数为:"+ countcss);
break;
case 3:
System.out.println("js的个数为:" + countjs);
break;
case 4:
System.out.println("图片不同格式具体的个数为:");
System.out.println("png为:"+countpng+"个");
System.out.println("jpg为:"+countjpg+"个");
System.out.println("jpeg为:"+countjpeg+"个");
System.out.println("gif为:"+countgif+"个");
break;
case 5:
System.out.println("已退出!");
break;
default:
System.out.println("输入无效,请重新输入一个正确的序号!");
break;
}
}while (number != 5) ;
}
public static void Counter(File file){
if (file.isDirectory()){
File[] files = file.listFiles();
// 遍历目录下的所有文件及文件夹
for (File f : files) {
if (f.isDirectory()) {
//如果是目录,继续打开
Counter(f);
} else {
//如果是文件则判断是否为png图片
if (f.getName().toLowerCase(Locale.ROOT).endsWith(".png")) countpng++;
if (f.getName().toLowerCase(Locale.ROOT).endsWith(".js")) countjs++;
if (f.getName().toLowerCase(Locale.ROOT).endsWith(".jpg")) countjpg++;
if (f.getName().toLowerCase(Locale.ROOT).endsWith(".jpeg")) countjpeg++;
if (f.getName().toLowerCase(Locale.ROOT).endsWith(".css")) countcss++;
if (f.getName().toLowerCase(Locale.ROOT).endsWith(".html")) counthtml++;
if (f.getName().toLowerCase(Locale.ROOT).endsWith(".gif")) countgif++;
}
}
}else{
System.out.println("不是一个目录!");
}
}
}