`
baby69yy2000
  • 浏览: 187765 次
  • 性别: Icon_minigender_1
  • 来自: 自己输入城市...
社区版块
存档分类
最新评论

代码统计小程序

阅读更多
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项目实战:代码统计小程序

    QT项目实战:代码统计小程序

    基于java的代码统计小程序

    这个是java写的一个代码统计的小程序!非常实用,具有较好的参考价值

    小程序源码 记账统计 (代码源)

    小程序源码 记账统计 (代码源)小程序源码 记账统计 (代码源)小程序源码 记账统计 (代码源)小程序源码 记账统计 (代码源)小程序源码 记账统计 (代码源)小程序源码 记账统计 (代码源)小程序源码 记账统计 (代码源)小...

    java实现代码统计小程序

    【Java实现代码统计小程序】是Java编程中一个实用的小项目,它的主要目的是统计指定目录下所有`.java`源代码文件中的代码行数、注释行数以及空行数。这个程序可以帮助开发者了解自己的编程工作量,例如统计每周完成...

    JAVA程序代码统计小软件

    JAVA程序代码统计小软件JAVA程序代码统计小软件

    微信小程序 运动健身 悦跑圈 (源代码+截图)

    微信小程序 运动健身 悦跑圈 (源代码+截图)微信小程序 运动健身 悦跑圈 (源代码+截图)微信小程序 运动健身 悦跑圈 (源代码+截图)微信小程序 运动健身 悦跑圈 (源代码+截图)微信小程序 运动健身 悦跑圈 (源...

    微信小程序商店完整代码

    这个“微信小程序商店完整代码”很可能是提供了一个实现此类功能的源代码库,便于开发者研究、学习或者构建自己的小程序商店。下面将详细讨论微信小程序商店涉及的相关知识点。 1. **微信小程序**: 微信小程序是...

    java开发项目本科毕业设计小程序上课考勤系统源代码.zip

    小程序上课考勤系统,后台管理,小程序前端GPS签到,小程序定位打卡,迟到统计等等 快速开发框架完成。java开发项目本科毕业设计小程序上课考勤系统源代码java开发项目本科毕业设计小程序上课考勤系统源代码java开发...

    微信悦跑圈跑步轨迹统计小程序源代码

    微信跑步统计小程序-悦跑圈源代码,仿微信跑步步数统计,可记录用户跑步的轨迹,与地图结合使用,在地图上标记出跑步的线路,记录步数,记录里程数和跑步用时,可统计使用本小程序跑步的排行榜,跑步名次记录等,和...

    微信小程序DEMO设计源代码合集(45款).rar

    这个“微信小程序DEMO设计源代码合集”包含了45个不同的示例项目,是学习和设计微信小程序的宝贵资源。通过分析这些DEMO,开发者可以深入了解小程序的开发流程、功能实现以及界面设计。 1. **基础概念**:微信小...

    c/c++代码量统计小工具(含代码和可执行程序)

    总的来说,C/C++代码量统计小工具是一个实用且高效的辅助开发工具,它通过简洁的接口和高效的算法,为开发者提供了宝贵的代码统计信息。无论是用于个人项目的自我评估,还是团队协作中的进度跟踪,都是一个值得信赖...

    用java写的统计代码小程序

    一个用java写的源代码分析小软件,可以对.c.cpp.java文件进行代码分析,很粗糙

    代码统计工具 cct

    代码统计工具CCT,全称为Count_Code Tool CCTsetup,是一款专为软件开发人员设计的实用工具,用于量化分析项目中的代码量。它可以帮助开发者、项目经理和团队更好地理解项目的规模,评估工作进度,以及进行代码质量...

    Java代码统计

    在这个Java代码统计小程序中,我们可能会遇到以下几个关键知识点: 1. **文件I/O操作**:在统计代码数量时,程序需要读取Java源代码文件。Java的`java.io`包提供了许多类来处理文件输入输出,如`FileReader`, `...

    微信跑步统计小程序-悦跑圈源代码,仿微信跑步步数统计

    微信跑步统计小程序-悦跑圈源代码,仿微信跑步步数统计,可记录用户跑步的轨迹,与地图结合使用,在地图上标记出跑步的线路,记录步数,记录里程数和跑步用时,可统计使用本小程序跑步的排行榜,跑步名次记录等,和...

    java代码统计工具

    这个工具包含了三个关键文件:`java代码统计工具.exe`是可执行程序,用户可以直接运行来执行统计;`CodeCounter.java`可能是该工具的主要源代码文件,包含了统计逻辑;`MyFilter.java`可能是一个过滤器类,用于筛选...

    C#代码统计工具

    标题中的“C#代码统计工具”是一个专门用于分析C#项目代码量的应用程序。它允许用户通过指定C#项目的根目录,快速获取项目中的代码行数,包括空行、注释行以及实际的可执行代码行。这对于项目管理和团队协作至关重要...

    微信悦跑圈跑步轨迹统计小程序源代码.rar

    微信跑步统计小程序-悦跑圈源代码,仿微信跑步步数统计,可记录用户跑步的轨迹,与地图结合使用,在地图上标记出跑步的线路,记录步数,记录里程数和跑步用时,可统计使用本小程序跑步的排行榜,跑步名次记录等,和...

    代码行数统计工具代码统计

    代码行统计小工具,支持递归查询。统计内容包括:代码行数、注释行数、空行数、总行数等。网上下载的,与大家分享。来源查看程序,关于

    微信小程序-餐饮点餐外卖-源代码 开箱即用

    9. **数据分析**:小程序应具备数据统计分析能力,例如菜品销量、用户行为分析、订单统计等,帮助商家优化运营策略,提升业绩。 10. **用户体验优化**:良好的用户体验是留住用户的关键。设计上需注重界面美观、...

Global site tag (gtag.js) - Google Analytics