当前位置:首页 > 开发 > 编程语言 > 正则表达式 > 正文

正则表达式 统计java文件代码的数量

发表于: 2012-03-04   作者:随便小屋   来源:转载   浏览:
摘要: import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; /** * * @author Mr Luo * email 972459637@qq
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/**
 * 
 * @author Mr Luo
 * email 972459637@qq.com
 */

public class CodeCounter {
	static long normalLines = 0;
	static long commentLines = 0;
	static long whiteLines = 0;
	
	public static void main(String[] args) {
		File f = new File("D:\\New folder");
		File[] codeFiles = f.listFiles();
		for (File child : codeFiles){
			if(child.getName().matches(".*\\.java{1}quot;)){
				parse(child);
			}
		}
		System.out.println("normalLines: " + normalLines);
		System.out.println("commentLines: " + commentLines);
		System.out.println("whiteLines: " + whiteLines);
	}
	private static void parse(File child) {
		BufferedReader bf = null;
		boolean comment = false;
		try {
			bf = new BufferedReader(new FileReader(child));
			String line = "";
			while((line = bf.readLine()) != null) {
				line = line.trim();
				if(line.matches("^[\\s&&[^\\n]]*{1}quot;)){
					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 if(line.startsWith("/*") && (line.endsWith("*/"))){
					commentLines ++;
				}
				else{
					normalLines ++;
				}
			}
		} catch (FileNotFoundException e){
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if(bf != null) {
				try {
					bf.close();
					bf = null;
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
}


正则表达式 统计java文件代码的数量

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
比如想统计一个Java程序员一天写代码的工作量(如:有效代码多少行、空行多少、注释多少行等),这
比如想统计一个Java程序员一天写代码的工作量(如:有效代码多少行、空行多少、注释多少行等),这
最近做一个项目,eclipse版本没有带统计代码行数的插件,公司还不能随便上网。所以在网上找了找资料
以前看到李开复写过的一本书,说是微软推荐应届毕业生最好有10万行的代码经验。于是自己我想写个程
废话不多说,直接上代码和程序运行截图: import java.awt.*; import java.awt.event.*; import jav
废话不多说,直接上代码和程序运行截图: import java.awt.*; import java.awt.event.*; import jav
废话不多说,直接上代码和程序运行截图: import java.awt.*; import java.awt.event.*; import jav
1. 打印输入中单词长度 2. 打印输入中各个字符出现频度的直方图 #include <stdio.h> #include
使用Eclipse可以方便的统计工程或文件的代码行数,方法如下: 1.在菜单栏点击Search,然后点击File
脚本代码如下: ceph pg dump | awk ' /pg_stat/ { col=1; while($col!=“up”) {col++}; col++ } /
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号