博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java简单统计.java文件中的有效代码行,空行,注释行
阅读量:6156 次
发布时间:2019-06-21

本文共 1768 字,大约阅读时间需要 5 分钟。

package regxdemo;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class CountFile {    /**     * @param args     */    static int cntCode=0, cntNode=0, cntSpace=0;    static boolean flagNode = false;    public static void main(String[] args) {        // TODO Auto-generated method stub        BufferedReader br = null;        try {            br = new BufferedReader(new FileReader("TestFile.java"));            String line=null;            while((line = br.readLine()) != null)                pattern(line);        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }                System.out.println("注释行: " + cntNode);        System.out.println("空行: " + cntSpace);        System.out.println("代码行: " + cntCode);        System.out.println("总行: " + (cntNode+cntSpace+cntCode));            }    private static void pattern(String line) {        // TODO Auto-generated method stub        String regxNodeBegin = "\\s*/\\*.*";        String regxNodeEnd = ".*\\*/\\s*";        String regx = "//.*";        String regxSpace = "\\s*";        if(line.matches(regxNodeBegin) && line.matches(regxNodeEnd)){            ++cntNode;            return ;        }        if(line.matches(regxNodeBegin)){            ++cntNode;            flagNode = true;        } else if(line.matches(regxNodeEnd)){            ++cntNode;            flagNode = false;        } else if(line.matches(regxSpace))             ++cntSpace;        else if(line.matches(regx))             ++cntNode;        else if(flagNode)             ++cntNode;        else ++cntCode;    }}

 

转载地址:http://wwsfa.baihongyu.com/

你可能感兴趣的文章
416. Partition Equal Subset Sum
查看>>
app内部H5测试点总结
查看>>
[TC13761]Mutalisk
查看>>
while()
查看>>
常用限制input的方法
查看>>
IIS7下使用urlrewriter.dll配置
查看>>
并行程序设计学习心得1——并行计算机存储
查看>>
bulk
查看>>
C++ 迭代器运算
查看>>
【支持iOS11】UITableView左滑删除自定义 - 实现多选项并使用自定义图片
查看>>
【算法笔记】多线程斐波那契数列
查看>>
java8函数式编程实例
查看>>
jqgrid滚动条宽度/列显示不全问题
查看>>
在mac OS10.10下安装 cocoapods遇到的一些问题
查看>>
css技巧
查看>>
Tyvj 1728 普通平衡树
查看>>
javascript性能优化
查看>>
多路归并排序之败者树
查看>>
java连接MySql数据库
查看>>
转:Vue keep-alive实践总结
查看>>