java统计代码行数

来源:互联网 发布:微信公众号淘宝优惠券 编辑:程序博客网 时间:2024/05/22 13:16


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下所有文件组织成listpublic 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

0 0
原创粉丝点击