java统计代码行数


import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;


/**
 * description: 统计代码行数
 * @author xyc 创建时间:2014-7-24
 * @Copyright(c)2014:北京中百信软件技术有限公司
 */
public class Test {
	List<File> list = new ArrayList<File>();
	int linenumber = 0;
	FileReader fr = null;
	BufferedReader br = null;


	public void counter(String projectName) {
		projectName = projectName + File.separator + "src";
		System.out.println(projectName);
		File file = new File(projectName);
		File files[] = null;
		files = file.listFiles();
		addFile(files);
		isDirectory(files);
		readLinePerFile();
		System.out.println("Totle:" + linenumber + "行");
	}


	// 判断是否是目录
	public void isDirectory(File[] files) {
		for (File s : files) {
			if (s.isDirectory()) {
				File file[] = s.listFiles();
				addFile(file);
				isDirectory(file);
				continue;
			}
		}
	}


	//将src下所有文件组织成list
	public void addFile(File file[]) {
		for (int index = 0; index < file.length; index++) {
			list.add(file[index]);
		}
	}


	//读取非空白行
	public void readLinePerFile() {
		try {
			for (File s : list) {
				int yuan = linenumber;
				if (s.isDirectory()) {
					continue;
				}
				fr = new FileReader(s);
				br = new BufferedReader(fr);
				String i = "";
				while ((i = br.readLine()) != null) {
					if (isBlankLine(i))
						linenumber++;
				}
				System.out.print(s.getName());
				System.out.println("\t\t有" + (linenumber - yuan) + "行");
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (br != null) {
				try {
					br.close();
				} catch (Exception e) {
				}
			}
			if (fr != null) {
				try {
					fr.close();
				} catch (Exception e) {
				}
			}
		}
	}


	//是否是空行
	public boolean isBlankLine(String i) {
		if (i.trim().length() == 0) {
			return false;
		} else {
			return true;
		}
	}


	public static void main(String args[]) {
		Test lc = new Test();
		String projectName = "D:/workspace/paytest4/payment";
		lc.counter(projectName);
	}
}


大家可以加QQ群:100162042

你可能感兴趣的:(代码行数,java统计,统计行数,统计代码行数,java统计代码行数)