一时兴起,写了这个简单的代码统计程序,可以统计一下自己最近的工作量。目前只支持统计java文件,想要统计其他文件,可以相应的写个匹配加入进去就ok。
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class CodeCounter {
static long codeLines = 0;
static long commentLines = 0;
static long blankLines = 0;
static ArrayList<File> fileArray = new ArrayList<File>();
/**
* 可以统计指定目录下以及其子目录下的所有java文件中代码
*
* @author NumbCoder
*/
public static void main(String[] args) {
File file = new File("F:\\test");
ArrayList<File> al = getFile(file);
for (File f : al) {
if (f.getName().matches(".*\\.java$")) // 匹配java格式的文件
count(f);
}
System.out.println("代码行数:" + codeLines);
System.out.println("注释行数:" + commentLines);
System.out.println("空白行数: " + blankLines);
}
// 获得目录下的文件和子目录下的文件
public static ArrayList<File> getFile(File f) {
File[] ff = f.listFiles();
for (File child : ff) {
if (child.isDirectory()) {
getFile(child);
} else
fileArray.add(child);
}
return fileArray;
}
// 统计方法
private static void count(File f) {
BufferedReader br = null;
boolean flag = false;
try {
br = new BufferedReader(new FileReader(f));
String line = "";
while ((line = br.readLine()) != null) {
line = line.trim(); // 除去注释前的空格
if (line.matches("^[ ]*$")) { // 匹配空行
blankLines++;
} else if (line.startsWith("//")) {
commentLines++;
} else if (line.startsWith("/*") && !line.endsWith("*/")) {
commentLines++;
flag = true;
} else if (line.startsWith("/*") && line.endsWith("*/")) {
commentLines++;
} else if (flag == true) {
commentLines++;
if (line.endsWith("*/")) {
flag = false;
}
} else {
codeLines++;
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
br = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
分享到:
相关推荐
统计.java文件里所有的代码行数,注释行数
Java代码量统计小工具 1 可按JavaDoc按作者统计代码量 2 统计代码行数、注释行数、空白行、注释率等 3 按某目录及其子目录内.java文件统计 4 需要JRE
代码统计,能够精准计算有效代码行数。适用于java
java代码统计工具及完整代码参考.pdf
java写的代码行数统计工具 前两天上传了一个 发现一个bug 呵呵 欢迎大家使用。有不足指出。
非常好用的JAVA代码统计工具,直接执行即可
这是本人自己开发的一款java代码注释统计工具,支持统计总行数,总代码行数,总注释行数,注释率,注释合格率自定义,统计详细,单个文件统计情况,可导出统计报告等! 注:本软件未捆绑jre(java环境),需要在已...
一个统计源码行数的小工具。 支持 C++、Delphi、Java 和 C# 源码。
JAVA代码统计工具,可以按人统计,很不错JAVA代码统计工具,可以按人统计,很不错
用它来统计你一天的工作量,你写了多少行正常的代码,多少行空行,多少行注释行。用Java正则表达式实现的 你只需要把要统计的路径修改一下就可以了
这个是java版的代码统计工具,大家可以在控制台使用java -jar打开
一个代码行统计工具的源码,我还上传了打成jar包的该文件,直接点击jar包也可使用
代码统计工具,代码统计工具,代码统计工具,代码统计工具,代码统计工具,代码统计工具,代码统计工具,代码统计工具,代码统计工具,代码统计工具,代码统计工具,代码统计工具,
这个小工具是用来统计平时我们写了多少代码!代码质量如何。这里,该工具中的代码评定标准是随便写的,公式如下:综合评定分=不重复代码/(总代码行数+重复代码+空白代码+注释代码)!这里主要用于学习交流,含源码...