今天想试试学了很久的正则表达式,就编了一个小小的程序(朋友们要是有意见就提吧):
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();
}
}
}
}
}
分享到:
- 2009-10-04 20:57
- 浏览 1126
- 评论(5)
- 论坛回复 / 浏览 (5 / 2625)
- 查看更多
相关推荐
学JAVA的朋友们,你们知道你自己已编过多少行JAVA代码吗?自己写了个统计代码的程序,打包成JAR,有源码,有界面,使用方便。可以统计代码行数、注解行数,及接口、方法、类数,可以分作者统计。
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
自己在参加培训的时候编的一个小程序 统计代码行数
为更好满足2020年常规统计调查和专项调查的需要,国家统计局组织开展了2019年度统计用区划代码和城乡划分代码更新维护工作,调查时点为2019年10月31日。目前,已完成更新维护工作,现予公布。 2019年统计用区划代码...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
q 销售统计:该模块用来分段统计营业额,可以按日、月和年进行统计,其中日统计是按消费单和销售的商品统计销售额,月统计是按日期和每日的销售额统计销售额,年统计是按日期和月份统计销售额。 q 系统安全:该模块...
主要介绍了java8 集合 多字段 分组 统计个数代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
使用StreamTokenizer统计文件的字符数; 序列化和反序列化对象(将不长用的对象暂时持久化到文件中为对象的序列化,反之用时再把对象恢复到内存为反序列化); 控制对象的序列化和反序列化; 读jar包的资源文件;用...
1. 用户管理 添加,修改,删除系统用户 2. 权限管理 配置系统用户各功能模块的使用权限 3. 后台维护 ...Java版本:jdk1.5或以上版本 应用服务器:tomcat/jboss/weblogic/webshpere等 数据库:oracle9i
销售管理子系统用于处理煤炭销售的日常业务,完成销售订单、出库申请单等基本文件的编制,并能通过销售订单对每一个月的销售情况进行统计,生成月销售账单。 2、实现技术: (1)开发平台及工具:JDK1.5,Eclipse3.2...
2.能统计各学校总分; 3.可以按学校编号、学校总分、男女团体总分排序输出; 4.可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 规定:输入数据形式和范围:20以内的整数(如果...
经过长达一个星期的不屑努力,终于完成了第一个杰作,大学中的学分统计系统。虽只是个小项目,但却解决了大学里因评奖学金而计算学分的麻烦!看看吧……
对销售记录可以按时间段统计、按月统计、按季度统计、按年统计、按商品统计、按商品类型统计以及统计全部。对于按月统计、按商品类型统计、按季度统计时,需生成统计柱状图。 10.仓库信息管理 仓库信息包括:仓库...
1.采用单链表存放选票,候选人编号依次为1,2,3,…,N,且每张选票选且只选一人; 2.选票中每个候选人采用一个节点实现,节点中包含一个BOOL变量,表示该候选...请按照代码中使用文档的路径存放文件夹即可正常使用
利用 SWING 编程,编写考试通过率系统部分功能。要求能够输入数据,并存入数 据库中,根据输入的班级编号进行查询相关数据。
在本篇文章里小编给大家分享的是关于Java8进行多个字段分组统计的实例代码,需要的朋友们可以学习下。
# JAVA班主任管理系统(源代码+论文)中文介绍 该压缩文件包含了一个JAVA班主任管理系统的源代码和论文。该系统旨在帮助班主任更好地管理班级信息、学生信息和课程信息。该系统的具体功能包括: - 班级信息管理:...
Spring——java对象注入 Spring JDBC——数据库连接 Jquery UI——界面设计 JFreeChart——成绩分析 iText——成绩打印PDF格式 Ajax+Json——表单验证 系统登录用户: 学生用户(学号+密码+验证码) 教师用户(教师...
(五)使用泛型集合存储所有出行人信息,使用集合的遍历实现查看订单信息、统计订单总金额、删除出行人等功能。 (六)显示信息时,只有儿童出行人需显示是否占座,需使用面向对象多态实现。 (七)修改行程信息时,...