`
king130520
  • 浏览: 20522 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

今天编的java代码统计

阅读更多
今天想试试学了很久的正则表达式,就编了一个小小的程序(朋友们要是有意见就提吧):
package regular.expression.codecounter;
import java.io.*;
public class CodeCounter {
	private static int normallines=0;
	private static int commentlines=0;
	private static int whitelines=0;
	public static void main(String[] args) {
		File file=new File("d:\\code");
		File[] files=file.listFiles();
		for(File file:files){
			if(file.getName().matches(".*\\.java$"))
				start(file);
		}
		System.out.println("normalliens="+normallines);
		System.out.println("commentliens="+commentlines);
		System.out.println("whiteliens="+whitelines);
	}
	private static void start(File file) {
		BufferedReader br=null;
		boolean flag=false;
		try {
			br=new BufferedReader(new FileReader(child));
			String line="";
			while((line=br.readLine())!=null){
				line=line.trim();
				if(line.matches("^[\\s&&[^\\n]]*")){
					whitelines++;
				}else if(line.startsWith("/*")&&!line.endsWith("*/")){
					commentlines++;
					flag=true;
				}else if(true==flag){
					commentlines++;
					if(line.endsWith("*/")){
						flag=false;
					}
				}else if (line.startsWith("/*")&&line.endsWith("*/")) {
					commentlines++;
				}else if(line.matches("^//.*")){
					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();
				}
			}
		}	
	}
}
分享到:
评论
5 楼 zhang_xzhi_xjtu 2009-10-27  
大眼一看 程序只支持一层目录
4 楼 YiSingQ 2009-10-06  
哇塞。。。高了这么多的else if。。。程序有点难看
3 楼 luoli-17 2009-10-06  
liu78778 写道


话说那3个变量干嘛用大写, 我第一眼还以为是常量


同感!!!
2 楼 liu78778 2009-10-06  
看那3个静态变量的名称
LZ看来是想统计java源代码中各种代码的行数

话说那3个变量干嘛用大写, 我第一眼还以为是常量
1 楼 quanping 2009-10-06  
程序虽然不长,总该说说你的程序是干嘛的吧?谁有空把每个帖子的程序都看一遍,然后在决定是否跟帖?

相关推荐

    java代码统计程序

    学JAVA的朋友们,你们知道你自己已编过多少行JAVA代码吗?自己写了个统计代码的程序,打包成JAR,有源码,有界面,使用方便。可以统计代码行数、注解行数,及接口、方法、类数,可以分作者统计。

    JAVA上百实例源码以及开源项目源代码

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    java代码统计器 要安装java虚拟机才能运行

    自己在参加培训的时候编的一个小程序 统计代码行数

    国家统计局统计用行政区划代码2020版(全国)

    为更好满足2020年常规统计调查和专项调查的需要,国家统计局组织开展了2019年度统计用区划代码和城乡划分代码更新维护工作,调查时点为2019年10月31日。目前,已完成更新维护工作,现予公布。  2019年统计用区划代码...

    JAVA上百实例源码以及开源项目

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    酒店管理系统JAVA源代码

    q 销售统计:该模块用来分段统计营业额,可以按日、月和年进行统计,其中日统计是按消费单和销售的商品统计销售额,月统计是按日期和每日的销售额统计销售额,年统计是按日期和月份统计销售额。 q 系统安全:该模块...

    java8 集合 多字段 分组 统计个数代码

    主要介绍了java8 集合 多字段 分组 统计个数代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    java jdk实列宝典 光盘源代码

    使用StreamTokenizer统计文件的字符数; 序列化和反序列化对象(将不长用的对象暂时持久化到文件中为对象的序列化,反之用时再把对象恢复到内存为反序列化); 控制对象的序列化和反序列化; 读jar包的资源文件;用...

    利用Java开发合同管理代码

    1. 用户管理 添加,修改,删除系统用户 2. 权限管理 配置系统用户各功能模块的使用权限 3. 后台维护 ...Java版本:jdk1.5或以上版本 应用服务器:tomcat/jboss/weblogic/webshpere等 数据库:oracle9i

    毕业设计代码包(代码)【煤炭进销存管理系统——JAVA】

    销售管理子系统用于处理煤炭销售的日常业务,完成销售订单、出库申请单等基本文件的编制,并能通过销售订单对每一个月的销售情况进行统计,生成月销售账单。 2、实现技术: (1)开发平台及工具:JDK1.5,Eclipse3.2...

    数据结构 运动会分数统计系统

    2.能统计各学校总分; 3.可以按学校编号、学校总分、男女团体总分排序输出; 4.可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 规定:输入数据形式和范围:20以内的整数(如果...

    史上最牛B的 Java 编的 大学成绩学分统计系统

    经过长达一个星期的不屑努力,终于完成了第一个杰作,大学中的学分统计系统。虽只是个小项目,但却解决了大学里因评奖学金而计算学分的麻烦!看看吧……

    超市管理系统

    对销售记录可以按时间段统计、按月统计、按季度统计、按年统计、按商品统计、按商品类型统计以及统计全部。对于按月统计、按商品类型统计、按季度统计时,需生成统计柱状图。 10.仓库信息管理 仓库信息包括:仓库...

    Java投票系统

    1.采用单链表存放选票,候选人编号依次为1,2,3,…,N,且每张选票选且只选一人; 2.选票中每个候选人采用一个节点实现,节点中包含一个BOOL变量,表示该候选...请按照代码中使用文档的路径存放文件夹即可正常使用

    java的c/s结构的考试通过率统计

    利用 SWING 编程,编写考试通过率系统部分功能。要求能够输入数据,并存入数 据库中,根据输入的班级编号进行查询相关数据。

    Java8进行多个字段分组统计的实例代码

    在本篇文章里小编给大家分享的是关于Java8进行多个字段分组统计的实例代码,需要的朋友们可以学习下。

    JAVA班主任管理系统(源代码+论文).zip

    # JAVA班主任管理系统(源代码+论文)中文介绍 该压缩文件包含了一个JAVA班主任管理系统的源代码和论文。该系统旨在帮助班主任更好地管理班级信息、学生信息和课程信息。该系统的具体功能包括: - 班级信息管理:...

    基于Java的学生成绩管理系统,Spring+Jquery UI+Ajax,优秀毕业设计源代码+答辩PPT,新手必看!

    Spring——java对象注入 Spring JDBC——数据库连接 Jquery UI——界面设计 JFreeChart——成绩分析 iText——成绩打印PDF格式 Ajax+Json——表单验证 系统登录用户: 学生用户(学号+密码+验证码) 教师用户(教师...

    JavaOOP内测

    (五)使用泛型集合存储所有出行人信息,使用集合的遍历实现查看订单信息、统计订单总金额、删除出行人等功能。 (六)显示信息时,只有儿童出行人需显示是否占座,需使用面向对象多态实现。 (七)修改行程信息时,...

Global site tag (gtag.js) - Google Analytics