zoukankan      html  css  js  c++  java
  • 统计一个目录中有多少个.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();
          }
    }
    }
  • 相关阅读:
    用chardet判断字符编码的方法
    NLP--edit distance
    nfc是什么?nfc功能是什么?
    【转载】推荐系统的十大挑战
    python--网络爬虫一
    【转载】双调欧几里得距离的算法原理
    Java并发编程:线程池的使用
    Java集合--HashMap源码剖析
    java中集合类详解
    java collection接口源码
  • 原文地址:https://www.cnblogs.com/liuyunche/p/14304866.html
Copyright © 2011-2022 走看看