Java第九天(实训学习(八)练习题)

一、练习

利用给定的资料使用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("不是一个目录!");
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值