好久之前,做了个代码超简单的代码统计的工具,不甚全,思路如下:
扫描指定路径下的所有.java文件-->对每个文本文件readLine-->是否有空行-->是空行-->空行数++
|
|-->不是空行-->是否注释-->注释数++
|
|-->不是注释-->代码数++
对应的方法如下:
//是否空行
public static boolean isBlankLine(String str){
str = str.replaceAll(" ", "").replaceAll("\r", "").replaceAll("\n", "").replaceAll("\t", "");
if(str.equals("")){
return true;
}
return false;
}
//是否评论
public static boolean isComments(String str){
str = str.replaceAll(" ", "").replaceAll("\r", "").replaceAll("\n", "").replaceAll("\t", "");
if(str.startsWith("/") || str.startsWith("*") || str.startsWith("@") ){
return true;
}
return false;
}
以上基本上可以简单地统计下代码数量了,对于代码跟注释写到同一行的,就没法统计了,那种情况应该基于字符串分析,感兴趣的朋友不妨做个。
附:做成了swing程序 下载地址
扫描指定路径下的所有.java文件-->对每个文本文件readLine-->是否有空行-->是空行-->空行数++
|
|-->不是空行-->是否注释-->注释数++
|
|-->不是注释-->代码数++
对应的方法如下:
//是否空行
public static boolean isBlankLine(String str){
str = str.replaceAll(" ", "").replaceAll("\r", "").replaceAll("\n", "").replaceAll("\t", "");
if(str.equals("")){
return true;
}
return false;
}
//是否评论
public static boolean isComments(String str){
str = str.replaceAll(" ", "").replaceAll("\r", "").replaceAll("\n", "").replaceAll("\t", "");
if(str.startsWith("/") || str.startsWith("*") || str.startsWith("@") ){
return true;
}
return false;
}
以上基本上可以简单地统计下代码数量了,对于代码跟注释写到同一行的,就没法统计了,那种情况应该基于字符串分析,感兴趣的朋友不妨做个。
附:做成了swing程序 下载地址