Java实现统计项目代码行!
2013-12-30 17:14
591 查看
import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class SumJavaCode { static long normalLines = 0; // 代码行 static long commentLines = 0; // 注释行 static long whiteLines = 0; // 空行 public static void main(String[] args) { SumJavaCode sjc = new SumJavaCode(); File f = new File("E://MyEclipse 9//iwfncms//"); System.out.println(f.getName()); sjc.treeFile(f); System.out.println("空行:" + whiteLines); System.out.println("注释行:" + commentLines); System.out.println("代码行:" + normalLines); } private void treeFile(File f) { File[] childs = f.listFiles(); for (int i = 0; i < childs.length; i++) { if (!childs[i].isDirectory()) { if (childs[i].getName().matches(".*.java$")) { System.out.println(childs[i].getName()); // count ++; sumCode(childs[i]); } } else { treeFile(childs[i]); // sum += count; } } } /** * 计算一个.java文件中的代码行,空行,注释行 . * 57. * @param file 58. * 要计算的.java文件 59. */ private void sumCode(File file) { BufferedReader br = null; boolean comment = false; try { br = new BufferedReader(new FileReader(file)); String line = ""; try { 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 (IOException e) { e.printStackTrace(); } } catch (FileNotFoundException e) { e.printStackTrace(); } finally { if (br != null) { try { br.close(); br = null; } catch (IOException e) { e.printStackTrace(); } } } } }
相关文章推荐
- 结合junit + ant + emma实现Android项目单元测试代码覆盖率统计
- 集成开源系统实现自动化构建、代码质量评估、项目信息统计(1)——Jenkins安装
- 实现maven管理的Javaweb项目的proguard代码混淆功能
- 使用Eclipse-jee3.6版本部署web项目已实现修改java代码不用重启
- 集成开源系统实现自动化构建、代码质量评估、项目信息统计
- 【代码笔记】Java连连看项目的实现(2)——JTable 、TableModel的使用
- java统计项目代码量及查找项目中特定词语出现的位置
- 统计学习方法之感知机对偶形式Java实现代码
- 【java IO File】统计项目代码总共多少行
- 代码行数统计java实现
- 项目代码行数统计--java类统计
- 集成开源系统实现自动化构建、代码质量评估、项目信息统计(1)——Jenkins安装
- 统计项目的java代码总行数
- JAVA_WEB项目之Lucene检索框架实现增删查改的代码优化以及分页功能实现
- 统计C#项目有效代码行数的实现过程
- Java中统计文章字符串字符个数的代码实现
- 通过java实现代码规模统计并把结果导出至execl中
- 集成开源系统实现自动化构建、代码质量评估、项目信息统计
- 集成开源系统实现自动化构建、代码质量评估、项目信息统计(1)——Jenkins安装
- java实现统计程序代码量