统计有效、空行、注解代码行数
来源:互联网 发布:移动网络打不开黄页 编辑:程序博客网 时间:2024/05/22 17:12
package com.fr24.dai.regEx;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class CountCode { static long normalLines = 0l; static long commmentLines = 0l; static long whiteLines = 0l; public static void main(String[] args) { // String fileName = ReadPropertiesUtils.getPropertiesValueByKey("/resource/fileName.properties", "fileName"); String fileName = "F:\\Desktop\\code"; File f = new File(fileName); if (f.isDirectory()) { countCode(f); } p("normalLines:" + normalLines); p("commentLines:" + commmentLines); p("whiteLines:" + whiteLines); } private static void countCode(File f) { File[] childs = f.listFiles(); for (File file : childs) { if (file.isDirectory()) { countCode(file); } if (file.getName().matches(".*\\.java$")) { parse(file); } } } private static 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("//.*")) { ++commmentLines; } else if (line.matches("^/\\*.*\\*/$")) { ++commmentLines; } else if (comment) { ++commmentLines; if (line.matches(".*\\*/$")) { comment = false; } } else if (line.matches("^/\\*.*[^\\*/$]")) { ++commmentLines; comment = true; } else if (!comment &&line.matches("[\\s&&[^\\n]]*")) { ++whiteLines; } else { ++normalLines; } } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void p(Object o) { System.out.println(o); }}
0 0
- 统计有效、空行、注解代码行数
- 统计代码行数(包括空行)
- 统计代码有效行数
- 统计java代码行数的代码(除注释,空行)
- 统计代码文件行数【空行+注释行+代码行】
- Visual Studio统计有效代码行数
- Visual Studio统计有效代码行数
- Visual Studio统计有效代码行数
- Visual Studio统计有效代码行数
- Visual Studio统计有效代码行数
- Visual Studio统计有效代码行数
- [转]Visual Studio 统计有效代码行数
- 简易统计Python有效代码行数
- python写的统计PYTHON文件的(代码行数,空行数,注释行数)小程序
- 统计源代码文件的总行数、空行数、注释行数、代码行数
- 统计有效行数
- 统计C#项目有效代码行数的实现过程
- JAVA 第一次作业 统计代码文件行数【空行+注释行+代码行】
- 最大后验概率(MAP)- maximum a posteriori
- HTML/CSS行内元素、块元素、空(void)元素、盒模型
- js中判断 NaN,undefined,null和转数字,正则去除千分号等
- 苏格拉底与失恋者的对话(转文)
- 矩阵快速幂模板
- 统计有效、空行、注解代码行数
- sqlite常见问题分析与总结
- Android判断一个点在不在多边形中
- 关于java和javascript交互中的日期处理问题汇总
- 安卓反编译揭秘:伪加密APK文件被破坏
- android studio生成aar包并在其他工程引用aar包
- 探索在onCreate()中开启工作线程更新UI,不报错的原因:
- WEBP
- 昨天霸屏的Apple Pay和营销沾边吗?