`

正则表达试代码统计小工具

 
阅读更多

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class Code {
static long normalLines = 0;//代码
static long commentLines = 0;//注释
static long whiteLines = 0;
static boolean comment = false;

public static void main(String[] args) throws IOException {
ListFilesInDirectory("要统计的文件夹的路径");
System.out.println("代码normalLines= " + normalLines);
System.out.println("注释commentLines= " + commentLines);
System.out.println("空行whiteLines= " + whiteLines);
}

static void ListFilesInDirectory(String path) throws IOException {
File file = new File(path);
File[] files = file.listFiles();
for (File fl : files) {
if (fl.isDirectory())
ListFilesInDirectory(fl.toString());
else if (fl.getName().matches(".*\\.java$")) {
parse(fl);
}
}
}

private static void parse(File f) throws IOException {
BufferedReader br = null;
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 (line.startsWith("/*") && line.endsWith("*/")) {
commentLines++;
} else if (true == comment) {
commentLines++;
if (line.endsWith("*/")) {
comment = false;
}
} else if (line.startsWith("//")) {
commentLines++;
} else {
normalLines++;
}
}
if (br != null) {
br.close();
br = null;
}
}
}

分享到:
评论

相关推荐

    正则表达式11

    正则表达式是计算机科学中用于模式匹配和文本搜索的强大工具。它由特殊字符和普通字符组成的字符串,用于定义要查找或替换的模式。在"正则表达式11"中,我们可以假设这是一个关于正则表达式的教程或者工具,可能包含...

    12位行政区划_精确到村委会(xlsx+txt).rar

    - 标题中的“12位行政区划”指的是中国的行政区划编码系统,通常采用六位地级市代码(例如:010101代表北京市东城区)+四位区县代码(如01010101代表北京市东城区东华门街道)+四位居委会或村委会代码(如...

    16 进制编辑工具 Hex Editor Neo Ultimate Edition 6.52.00 + x64.zip

    这十六进制和二进制代码数据编辑软件工具包括以下基本功能:无限次的撤销/重做;找到;更换;视觉历史保存和载入膜片创造;剪贴板操作,Bytes, Words, Double Words, Quad Words等双打编辑模式。 十六进制编辑器的使用...

    MATLAB数据处理模型代码 元数据分析的广义典型相关分析代码.zip

    3. **MATLAB实现**:MATLAB是数值计算和科学工程计算的强大工具,拥有丰富的统计函数库。GCCA_zq.m文件很可能是实现GCCA算法的MATLAB代码。该代码可能包括以下部分: - 数据预处理:检查数据质量,去除异常值,标准...

    用于 Matlab 的各种图像特征编码的 评估工_Matlab_代码_下载

    1. **标准硬编码(Binning)**:这是一种基础的编码方法,它将局部特征分配到固定的码本(词汇表)中,通常通过直方图统计得到。每个图像的表示就是码本中各个单元的计数值,形成一个“词袋”模型。 2. **内核码本...

    Lasso_paper_and_code2_lasso_papercode_lassoalgorithm_oxygen61q_正

    总的来说,Lasso算法是一种强大的统计工具,它通过L1正则化实现了模型的稀疏性和解释性,特别适用于高维数据的分析。掌握Lasso算法的理论和实现对于任何IT专业人员来说,都是提升数据分析能力的重要一步。通过阅读...

    论文研究 - 辛几何观点的贝叶斯推理

    在辛几何框架下,研究者们证明了多元正态分布总体均值向量的贝叶斯更新可以被表达为具有正则辛结构的相空间上的仿射辛变换。这为理解贝叶斯推理提供了一个全新的数学视角,特别是在处理复杂的统计模型和动态系统时。...

    Hex Editor Neo Ultiamate 6.x Patch

    这十六进制和二进制代码数据编辑软件工具包括以下基本功能:无限次的撤销/重做;找到;更换;视觉历史保存和载入膜片创造;剪贴板操作,Bytes, Words, Double Words, Quad Words等双打编辑模式。 十六进制编辑器的使用...

    MATLAB技术资料---第30章 偏最小二乘回归.zip

    在MATLAB中,实现偏最小二乘回归可以借助于内置函数或者自定义代码。本资料将详细探讨这一主题。 1. 偏最小二乘回归基础 偏最小二乘回归旨在找到一组线性组合,这些组合能够最大化变量与响应之间的相关性,同时最小...

    sgLasso_sgLasso_

    sgLasso,全称为"Structured Group Lasso",是一种在机器学习和统计建模中广泛使用的正则化方法。它扩展了传统的Lasso(Least Absolute Shrinkage and Selection Operator)技术,通过引入结构约束来处理具有组结构...

    Win7系统中运用办公软件Office2022操作技巧.docx

    首先,将窗体保存到一个文件当中,需要利用正则表达方式来对其自身的代码进行详细分析和研究,之后利用代码结构、字数统计以及相对应的语法分析等,完成对文件的保存。其次,将窗体保存到文本文件当中,将这些文本...

    l-曲线matlab代码-cgDNA_py:cgDNA:DNA的序列依赖性粗粒模型

    总结来说,这个MATLAB代码库提供了一个工具,用于在DNA序列分析中利用CGDNA模型,并结合l-曲线方法选择合适的正则化参数。由于代码是开源的,科研人员和开发者可以自由地利用它进行DNA序列的建模和分析,进一步推动...

    计算机专业毕业设计源码-VB超市配送运输管理系统设计(源代码+系统)-基于VB-IT毕设.zip

    这需要对配送和运输行业的运营流程有深入理解,并能用代码准确表达。 5. **异常处理和错误报告**:为了确保系统的稳定运行,开发者会加入异常处理机制,捕获和处理可能出现的错误,同时提供清晰的错误报告,帮助...

    spca_am-master_sparsepca_spca_稀疏主成分_

    - 在基因表达数据分析中,SPCA可以帮助识别与特定疾病相关的小部分基因。 - 在图像处理中,SPCA可以用于降维和特征提取,提高分类或识别的效率。 - 在金融领域,SPCA可用于识别市场风险的关键驱动因素。 5. **与...

    boost_1_69_0

    1. **多用途工具**: Boost库包含各种用途的组件,如线程管理(Boost.Thread)、智能指针(Boost.SmartPtr)、日期时间处理(Boost.DateTime)、正则表达式(Boost.Regex)、文件系统操作(Boost.Filesystem)等,极...

    生信技能树编程实战题-题目整理版1

    2. **人类基因组的外显子区域的长度**:这部分要求下载外显子坐标文件,并编写代码来统计外显子长度。这涉及到读取和解析表格数据,以及处理包含范围信息的字符串,例如用正则表达式移除特殊字符并分割坐标。 3. **...

    python——大数据分析

    - Numpy和Pandas:Numpy是用于科学计算的Python库,它提供了一个强大的N维数组对象,Pandas则是一个强大的数据分析和处理工具库,它提供了快速、灵活和表达能力强的数据结构,专为数据分析设计。 Python在大数据...

    2017年KDD-CUP的比赛项目.zip

    版本控制工具如Git,以及项目管理工具如Jupyter Notebook,都是实现这一目标的有效手段。 8. **数据可视化**:有效的数据可视化可以帮助参赛者更好地理解数据,发现潜在模式,也是向评委展示结果的重要手段。Python...

    Python-syntaxsugar向Python添加很酷的语法糖

    在Python编程语言中,"语法糖"(Syntax Sugar)指的是通过简洁、易读的语法来表达复杂的概念,使得代码更加优雅、简洁。Python本身就是一种强调可读性的语言,它的设计哲学之一就是“易于阅读的代码胜过易于理解的...

Global site tag (gtag.js) - Google Analytics