统计目录中有多少个java文件,总共有多少行代码?

 public class Hello {
     public static int num = 0;
     public static long zongrow = 0;
     public static void main(String[] args) {
         //count(new File(System.getProperty("user.dir")));           
         //System.out.println(num);
         //System.out.println(getRow(new File("D:\\java\\javaproject\\javase\\test01\\src\\com\\gnozt\\Hello.java")));
         count(new File("D:\\java\\javaproject\\javase"));
         System.out.println(num+"个文件总共有:"+zongrow+"行");
     }
//1.求目录中所有java文件(1和2是两个连着的)
     public static void count(File dir){    
         File[] files = dir.listFiles();   //列出所有文件和目录
         for (File f : files) {
             if (f.isFile()){
                 if (f.getName().endsWith("java")){
                     ++num;
                     //System.out.println(f.getName());     //输出Java文件的名字
                     //这里的所有 f 都是目录中的java文件
                     long row = getRow(f);
                     System.out.printf("%s文件共有%d行%n",f,row);
                     zongrow += row;
                 }
             }else {//走到这里说明遍历以后还是一个目录,执行递归,让它继续遍历
                 count(f);
             }
         }
     }
//2.得到文件中的行数
     public static long getRow(File file){    
         long sum = 0;
         try (var s = new FileInputStream(file)){
             long count = new String(s.readAllBytes()).lines().count();  //把文件读取字节并转化为字符串,并计算行数,然后计算行数的多少
             sum +=count;
         }catch (Exception e){
             e.printStackTrace();
         }
         return sum;
     }
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值