java 代码行数 工具类_代码量统计工具类 | 学步园

一:先看运行结果

342a0537d236988d7058c6bda609f54c.png

二:工具类源码

package codeCounter;

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;

}

}

三:运行工具类

public class Main {

/**

* 功能:统计代码的行数

* 说明:支持 整个工程的代码行数统计

* @param args

*/

public static void main(String[] args) {

String fileName="F:/workspace/brightmaven/src/main";

File file=new File(fileName);

int[]sum=Service.statistics(file);

System.out.println("共有 "+sum[5]+" 个类");

System.out.println("忽略注释忽略空行共 "+sum[0]+" 行");

System.out.println("包括注释忽略空行共 "+sum[1]+" 行");

System.out.println("包括注释包括空行共 "+sum[2]+" 行");

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值