import java.io.*;
class CodeCounter {
private static long normalLines = 0; //普通行
private static long commentLines = 0; //注释行
private static long whiteLines = 0; //空白行
private static long totalLines = 0; //总行数
public CodeCounter(String s) {
File f = new File(s);
tree(f);
}
public void tree(File f) {
System.out.println("Path : " + f.getPath());
File[] childs = f.listFiles();
if(childs == null){
return;
}
for(int i = 0; i < childs.length; i++) {
if(childs[i].isDirectory()) {
//if(childs[i].getName().equals("System Volume Information")) {
//continue;
//}else {
tree(childs[i]);
//}
}else if(childs[i].getName().matches(".*\\.java$")) {
parse(childs[i]);
}
}
}
public void parse(File f) {
BufferedReader br = null;
boolean comment = false;
try {
br = new BufferedReader(new FileReader(f));
String line = "";
while((line = br.readLine()) != null) {
line = line.trim();
if(line.matches("^[\\s&&[^\\n]]*$")) {
whiteLines ++;
}else if(line.startsWith("/*") && !line.endsWith("*/")) {
commentLines ++;
comment = true;
}else if(true == comment) {
commentLines ++;
if(line.endsWith("*/")) {
comment = false;
}
}else if(line.startsWith("//")) {
commentLines ++;
}else {
normalLines ++;
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
if(br != null) {
try {
br.close();
br = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public void p() {
totalLines = normalLines + commentLines + whiteLines;
System.out.println("normalLines: " + normalLines);
System.out.println("commentLines: " + commentLines);
System.out.println("whiteLines: " + whiteLines);
System.out.println("totalLines: " + totalLines);
}
}
public class TestCodeCounter {
public static void main(String[] args) {
CodeCounter c = new CodeCounter("D:\\");
c.p();
}
}
分享到:
相关推荐
QT项目实战:代码统计小程序
这个是java写的一个代码统计的小程序!非常实用,具有较好的参考价值
小程序源码 记账统计 (代码源)小程序源码 记账统计 (代码源)小程序源码 记账统计 (代码源)小程序源码 记账统计 (代码源)小程序源码 记账统计 (代码源)小程序源码 记账统计 (代码源)小程序源码 记账统计 (代码源)小...
【Java实现代码统计小程序】是Java编程中一个实用的小项目,它的主要目的是统计指定目录下所有`.java`源代码文件中的代码行数、注释行数以及空行数。这个程序可以帮助开发者了解自己的编程工作量,例如统计每周完成...
JAVA程序代码统计小软件JAVA程序代码统计小软件
微信小程序 运动健身 悦跑圈 (源代码+截图)微信小程序 运动健身 悦跑圈 (源代码+截图)微信小程序 运动健身 悦跑圈 (源代码+截图)微信小程序 运动健身 悦跑圈 (源代码+截图)微信小程序 运动健身 悦跑圈 (源...
这个“微信小程序商店完整代码”很可能是提供了一个实现此类功能的源代码库,便于开发者研究、学习或者构建自己的小程序商店。下面将详细讨论微信小程序商店涉及的相关知识点。 1. **微信小程序**: 微信小程序是...
小程序上课考勤系统,后台管理,小程序前端GPS签到,小程序定位打卡,迟到统计等等 快速开发框架完成。java开发项目本科毕业设计小程序上课考勤系统源代码java开发项目本科毕业设计小程序上课考勤系统源代码java开发...
微信跑步统计小程序-悦跑圈源代码,仿微信跑步步数统计,可记录用户跑步的轨迹,与地图结合使用,在地图上标记出跑步的线路,记录步数,记录里程数和跑步用时,可统计使用本小程序跑步的排行榜,跑步名次记录等,和...
这个“微信小程序DEMO设计源代码合集”包含了45个不同的示例项目,是学习和设计微信小程序的宝贵资源。通过分析这些DEMO,开发者可以深入了解小程序的开发流程、功能实现以及界面设计。 1. **基础概念**:微信小...
总的来说,C/C++代码量统计小工具是一个实用且高效的辅助开发工具,它通过简洁的接口和高效的算法,为开发者提供了宝贵的代码统计信息。无论是用于个人项目的自我评估,还是团队协作中的进度跟踪,都是一个值得信赖...
一个用java写的源代码分析小软件,可以对.c.cpp.java文件进行代码分析,很粗糙
代码统计工具CCT,全称为Count_Code Tool CCTsetup,是一款专为软件开发人员设计的实用工具,用于量化分析项目中的代码量。它可以帮助开发者、项目经理和团队更好地理解项目的规模,评估工作进度,以及进行代码质量...
在这个Java代码统计小程序中,我们可能会遇到以下几个关键知识点: 1. **文件I/O操作**:在统计代码数量时,程序需要读取Java源代码文件。Java的`java.io`包提供了许多类来处理文件输入输出,如`FileReader`, `...
微信跑步统计小程序-悦跑圈源代码,仿微信跑步步数统计,可记录用户跑步的轨迹,与地图结合使用,在地图上标记出跑步的线路,记录步数,记录里程数和跑步用时,可统计使用本小程序跑步的排行榜,跑步名次记录等,和...
这个工具包含了三个关键文件:`java代码统计工具.exe`是可执行程序,用户可以直接运行来执行统计;`CodeCounter.java`可能是该工具的主要源代码文件,包含了统计逻辑;`MyFilter.java`可能是一个过滤器类,用于筛选...
标题中的“C#代码统计工具”是一个专门用于分析C#项目代码量的应用程序。它允许用户通过指定C#项目的根目录,快速获取项目中的代码行数,包括空行、注释行以及实际的可执行代码行。这对于项目管理和团队协作至关重要...
微信跑步统计小程序-悦跑圈源代码,仿微信跑步步数统计,可记录用户跑步的轨迹,与地图结合使用,在地图上标记出跑步的线路,记录步数,记录里程数和跑步用时,可统计使用本小程序跑步的排行榜,跑步名次记录等,和...
代码行统计小工具,支持递归查询。统计内容包括:代码行数、注释行数、空行数、总行数等。网上下载的,与大家分享。来源查看程序,关于
9. **数据分析**:小程序应具备数据统计分析能力,例如菜品销量、用户行为分析、订单统计等,帮助商家优化运营策略,提升业绩。 10. **用户体验优化**:良好的用户体验是留住用户的关键。设计上需注重界面美观、...