一、练习
利用给定的资料使用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\作业\assetsdo {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("不是一个目录!");}}
}