统计代码java_统计java代码行数

定义一个文件过滤器:仅选择java源文件,代码如下:

import java.io.File;

import java.io.FilenameFilter;

/**

* FileName仅过滤出java源文件

* @author hasonger

*

*/

public class FileName implements FilenameFilter {

@Override

public boolean accept(File dir, String name) {

File file = new File(dir, name);

if(file.getName().toLowerCase().endsWith(".java")) {

return true;

}

if(file.isDirectory()) {

return true;

}

return false;

}

}

再定义一个代码统计工具类:

import java.io.BufferedReader;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.IOException;

public class CodeStatistics {

//总的有效代码行数

private static int codeLineCount = 0;

//java源文件数

private static int fileCount = 0;

public static void main(String[] args) {

statistics(new File(args[0]));

String msg = "文件数量:" + fileCount + "\n代码行数:" + codeLineCount +

"\n-------------------------------------\n作者:哈松儿";

javax.swing.JOptionPane.showMessageDialog(null, msg);

}

/**

* 统计java源文件数和有效代码行数

* @param file

*/

public static void statistics(File file) {

if(file.isFile()) {

codeLineCount += count(file);

fileCount++;

} else {

File[] filenames = file.listFiles(new FileName());

if(filenames != null) {

for (File f : filenames) {

statistics(f);

}

}

}

}

/*

* 统计file文件的有效代码行数:剔除空行和注释

*/

private static int count(File file) {

BufferedReader br = null;

//有效代码计数器

int count = 0;

try {

try {

br = new BufferedReader(new FileReader(file));

String line = "";

while((line = br.readLine()) != null) {

//按照编码规范剔除空行和注释行

if (!line.trim().equals("")) {

if(!line.trim().startsWith("/**") && !line.trim().startsWith("*") && !line.trim().startsWith("*/") &&  !line.trim().startsWith("//")) {

count++;

}

}

}

} finally {

if(br != null)

br.close();

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return count;

}

}

将上述类的.class文件路径设置到系统变量classpath中,然后修改windows注册表,具体注册表信息:

第二行的“哈送儿代码统计” 是要添加的右键命令名。

第三行代码是jdk的javaw.exe可执行文件的路径和上述main主类名。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Folder\shell\哈松儿代码统计]

[HKEY_CLASSES_ROOT\Folder\shell\哈松儿代码统计\command]

@="C:\\jdk1.7.0_25\\bin\\javaw.exe CodeStatistics \"%1\""

方便的代码统计命令就这样添加成功了!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值