`
hy2012_campus
  • 浏览: 29026 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

开发中统计代码量

    博客分类:
  • java
 
阅读更多

开发中我们想知道到底有多少代码?能够除掉空格和注释等

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class Service {
    public static int [] statistics(File file){
       if(file.isDirectory()){
           File[] files=file.listFiles();
           int[]sum=new int[]{0,0,0,0,0,0};
           for (int i = 0; i < files.length; i++) {
              File fl=files[i];
              sum= plus(sum,statistics (fl));
          }
          return sum;
       } else{
          return read(file);
       }
      
    }
    private static int [] plus(int[] xx,int[] yy) {
       if(xx. length!=yy. length){
           throw new RuntimeException("异常");
       }
       int[] last= new int [xx.length ];
       for ( int i = 0; i < yy.length ; i++) {
           last[i]=xx[i]+yy[i];
       }
       return last;
    }
    public static int [] read(File file){
           String name=file.getName();
           int[] last=new int[]{0,0,0,0,0,0};
           int sum1=0;
           int sum2=0;
           int sum3=0;
           if(name.endsWith( ".java")){
               BufferedReader br= null;
               try{
                   br= new BufferedReader(new FileReader(file));
                   String line= null;
                   while((line=br.readLine())!=null){
                       if(!"" .equals(line.trim())){
                           if(!line.trim().startsWith("//" )){
                               sum1++;//不包括注释换行
                           }
                           sum2++;//包括换行
                       }
                       sum3++;//包括注释,换行
                   }
                   last[0]=sum1;
                   last[1]=sum2;
                   last[2]=sum3;
                   last[5]=1;
               } catch(FileNotFoundException e){
                   e.printStackTrace();
               } catch(IOException e){
                   e.printStackTrace();
               } finally{
                   try {
                    br.close();
                   } catch (IOException e) {
                    e.printStackTrace();
                    }
               }
           } else{
               last[0]=0;
               last[1]=0;
               last[2]=0;
               last[3]=0;
               last[4]=0;
               last[5]=0;
           }
           return last;
       }
}

import java.io.File;
import java.util.Arrays;

public class Main {
    /**
     * 程序名称:java代码行数统计软件.
     * 功能:统计代码的行数
     * 说明:支持 整个工程的代码行数统计
     */
    public static void main(String[] args) {
         //获取当前项目的路径
        String fileName=System.getProperty("user.dir");
        File file= new File(fileName);
         int[]sum=Service.statistics(file);
        System.out.println("" +Arrays.toString(sum));
        System. out.println("共有 " +sum[5]+" 个类" );
        System. out.println("忽略注释忽略空行共 "+sum[0]+" 行");
        System. out.println("包括注释忽略空行共 "+sum[1]+" 行");
        System. out.println("包括注释包括空行共 "+sum[2]+" 行");
    }
}

 

分享到:
评论

相关推荐

    开发C#项目的代码量统计工具

    代码量统计工具,代码量统计工具,代码量统计工具,代码统计,代码统计,代码统计,代码统计

    代码量统计工具

    支持各种格式的代码量统计,可查看代码行数,空行,有效代码行数

    statsvn代码量统计工具

    StatSVN是一个Java写的开源代码统计程序,从statCVS移植而来,能够从Subversion版本库中取得信息,然后生成描述项目开发的各种表格和图表。比如:代码行数的时间线;针对每个开发者的代码行数;开发者的活跃程度;...

    源代码统计器,相当不错代码量统计工具,功能不错哦

    可精确统计各种类型代码,还有许多相关功能,简单易用,自己下了看吧...

    windows下统计开发代码量的脚本

    windows的脚本文件,可以统计自定义文件夹下的所有文件代码行数

    代码行数统计工具

    支持多种语言的代码统计工具,较方便的评估软件开发量。

    统计C++/JAVA工程中的总体代码量

    可以分别统计Java或者C++工程的代码量,给出总代码、实际代码、注视、空行量以及比例

    Counting代码量统计工具

    统计代码量的工具 软件开发必备 简单易操作

    统计SVN服务器项目的代码量

    将需要统计的svn路径下的代码checkout到本地工作目录里,版本可以自由选择,如果你要统计某个版本下的代码量checkout出对应的版本即可,如果需要统计最近的版本时的代码量,checkout最新版本。

    代码统计工具(SourceCounter-3.5.33.73)

    具有统计迅速、准确的优点,是程序开发人员的必备工具。可以对 C++、VB.Net、VB、C#、JAVA、Delphi、ASP.Net、ASP、JSP、HTML 等项目进行统计,并能保存统计的结果。 主要功能(Features) * 统计速度快、准确 * ...

    svn代码量统计工具StatSVN的使用

    svn代码量统计工具StatSVN的使用

    统计项目源代码行数

    获取项目源代码行数,只需将目录的文件夹路径设置一下即可。 如果想要获取布局文件。.css,只需在下方判断后缀名就可以了。 方便好用。

    代码统计插件 eclipse plugin java

    代码统计插件 eclipse plugin java 提供xls导出。 liugang594 开发的,方便下载 这是一款小型的代码统计软件。它具有以下功能: 1、良好的统计性能。可以统计各种方式的注释,如单行、多行注释;注释在行前 、行...

    nodejs实现统计项目代码行数的代码资源

    代码清晰明了,注释也很详细,适合前端或nodejs初学者学习使用,也可以直接用于统计项目中的代码行数,以及用于多种前端场景下的二次封装,包括集成到项目和构建工具、或者IDE开发工具中,实时统计项目代码行数。

    统计项目代码量(附源码)

    该小程序是帮助统计我们估算项目的规模,让我们心中有数,做一个高深的开发人员,附带源码,你懂得!

    源代码统计工具(适用目前主流开发语言)

    一个很简单方便实用的源代码统计工具,里面有使用说明,适用目前主流开发语言。分享给大家,免得大家网上找不到合适的。

    代码行数统计工具 source counter + diffcount

    SourceCounter是一个适用性广泛的代码统计工具,通过这个工具能够对30多种代码进行代码行数、注释、空行、文件大小等信息进行统计分析,另外软件还支持对软件...新版本较老版本有多少新增、修改、删除、有效代码量等。

    绝对绿色好用的代码统计小工具

    免安装的代码统计小工具,可方便的统计软件开发的代码量

    C语言代码统计器

    该统计器的主要功能是统计代码文件的文件行数、有效代码行数、注释行数、空白行数,以及计算代码的注释率。和那些只能统计单个文件的统计器不同,这款统计器能够接受文件夹路径,批量统计整个文件夹的所有文件,包括...

    代码规模统计工具

    可以指定文件后缀名,统计代码的执行行数,总行数,注释行数等等,可以开发语言分析文件等,功能强大

Global site tag (gtag.js) - Google Analytics