• 统计一个目录中有多少个.java文件,并且统计所有java文件的总行数


    package cn.lyc;

    import java.io.File;

    public class File5 {
    //声明一个静态变量,方法中会用到
    static int num = 0;
       //声明一个变量用来储存行数
    static long rows = 0;
        public static void main(String[] args) {
    //文件路径
    String path = "C:\Users\86176\Desktop\J";
    //调用方法
    query(new File(path));
    //输出num(符合文件的个数)
    System.out.println(num);
         //输出rows(这些文件的行数)
    System.out.println(rows
        }

    //写一个新的方法
    public static void query(File queryFile){
    //如果是一个目录
    if (queryFile.isDirectory()){
    //把里面的文件放到数组中,方便遍历
    File[] files = queryFile.listFiles();
    //遍历数组
    for (File fs : files){
    //如果遍历之后还有目录,就直接再调用一次方法
    if (fs.isDirectory()) query(fs);
    //如果遍历之后后缀为.java的文件,每有一个就++num(统计个数)
    if (fs.isFile() && fs.getName().endsWith(".java")) {
                ++num;

              
    /**
    * BufferedReader 缓存读取流
    * trim 清除空格
    * filter 过滤
    * e->e Lambda表达式
    */
                 //创建一个缓冲读取流
    BufferedReader br = new BufferedReader(new FileReader(fs));
    //统计里面的行数(未清除空行)
    // rows = br.lines().count();
    //lines是流,所以只能调用一次,使用(清除空行)的方式统计后,就不能使用(未清除空行)的方式统计
    //清除空行后再统计行数
    rows = br.lines().filter(e->e.trim().length()>0).count();
              }
    }
    }
    //最后判断最初的目录下如果后缀为.java的文件,每有一个也++num,进行统计
    if (queryFile.isFile() && queryFile.getName().endsWith(".java")) {
             ++num;
                    //创建一个缓冲读取流
    BufferedReader br = new BufferedReader(new FileReader(queryFile));
    //统计里面的行数
    // rows = br.lines().count();
    //清除空行
    rows = br.lines().filter(e->e.trim().length()>0).count();
          }
    }
    }
  • 相关阅读:
    react 实现路由按需加载
    vue-router 与 react-router 设计理念上的区别
    create-react-app 知识点
    ElementUI(vue UI库)、iView(vue UI库)、ant design(react UI库)中组件的区别
    create-react-app 搭建的项目中,让 antd 通过侧边栏导航 Menu 的 Menu.Item 控制 Content 部分的变化
    react-router v4.0 知识点
    prop-types:该第三方库对组件的props中的变量进行类型检测
    002_mtr_a network diagnostic tool
    006_netstat中state详解
    003_监测域名证书过期时间
  • 原文地址:https://www.cnblogs.com/liuyunche/p/14304866.html
Copyright © 2020-2023  润新知