代码行数统计程序简要分析

在学校的时候就想写一个代码行数统计的程序,可由于各种原因一直没有实现。年前在北京参加了一个培训,培训过程中,自己抽空完成了一个简单的代码行数统计程序。近期接触一个新项目的时候本想看看该项目的代码总数,可一时找不到原来的那个代码行数统计程序了。问了两个朋友,他们也没有。于是我又萌生了重写该程序的念头。

前几天,我抽出一些空闲的时间,完成了该程序的核心功能。我又在接下来的几天里抽空对代码进行了完善。

想想该程序,难点应该主要有三个。

其一:如何统计一个文件的代码行数

其二:如何过滤指定类型的文件

其三:如何遍历文件夹

针对这三个难点,我用了下面的方法来解决它们。

一、定义一个变量n用于记录文件的代码行数,初始值为0 。构造一个BufferedReader对象用于按行读取文件。读取文件的过程中,改变n的值。这样当读到文件尾部的时候,该文件的总行数也就出来了。核心代码如下:

int n = 0; BufferedReader br = new BufferedReader(new FileReader(fileName)); while ((br.readLine()) != null) { n++; } 二、定义一个SimpleFileFilter类并实现FileFilter接口,重写该接口的方法public boolean accept(File pathname) 。在该类中定义一些常量,用于表示一些常用文件的类型。然后定义一个List<String>,名字为suffixes,用于保存需要过滤的文件类型。核心代码如下:for (String suffix : suffixes) { if (pathname.getName().toLowerCase().endsWith(suffix)) { return true; } } return false; 三、利用递归的思想来解决遍历文件夹的问题。核心代码如下:private void getTotalLineNumberOfPath(File f) { File[] files = f.listFiles(); for (int i = 0; i < files.length; i++) { if (files[i].isFile()) { //统计该文件的代码行数,请参考难点一 }else { getTotalLineNumberOfPath(files[i]); } } } 写此文主要目的有两个:一、备忘;二、分享心得。如有不妥之处,欢迎拍砖!

重要提示:我把程序源码上传到个人资源里面了,如有需要请点击(代码行数统计程序http://download.csdn.net/detail/binbinxyz/4078590下载参考!


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值