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

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

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://www.cnblogs.com/hujunzheng/p/4072518.html,如需转载请自行联系原作者
你可能感兴趣的文章
OpenGL应用函数库介绍
查看>>
常量、枚举
查看>>
条件变量与互斥量
查看>>
Jenkins-Publish HTML reports
查看>>
KVO 键值观察
查看>>
iOS开发网络篇—发送GET和POST请求(使用NSURLSession)
查看>>
Adaptability Is Accessibility
查看>>
HDU_1227_Fast Food_动态规划
查看>>
实验验证redis的快照和AOF
查看>>
临时表的应用
查看>>
码农的福利来了, 编程在线Androd 客户端上线了
查看>>
sys.stdout.write与sys.sterr.write(二)
查看>>
多继承时,多个基类中存在型别相同的虚函数,该怎么做?
查看>>
shell配置,选择,环境变量修改(ORACLE_HOME,ORACLE_SID),无法使用sqlplus
查看>>
Design Hint for Inheritance(继承设计的一些小贴士)
查看>>
java 时间格式化函数
查看>>
python参数
查看>>
P1614 爱与愁的心痛
查看>>
Windows上使用Objective-c和Cocoa
查看>>
android ui事件处理分析
查看>>