发一个统计项目代码行数的Java代码
生活随笔
收集整理的這篇文章主要介紹了
发一个统计项目代码行数的Java代码
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;/*** *********************************************** @description 計(jì)算源代碼(src)行數(shù),不計(jì)算空行* 宗旨:將src下所有文件組裝成list,再篩選出文件,對(duì)文件進(jìn)行遍歷讀取* @author gumutianqi* @date 2011-05-30 2:00:12 PM* @version 1.0************************************************/
public class LineCounter {List<File> list = new ArrayList<File>();int linenumber = 0;FileReader fr = null;BufferedReader br = null;public void counter(String projectName) {
// String path = System.getProperty("user.dir");String path = LineCounter.class.getResource("/").getPath(); // 同下個(gè)pathpath = path.substring(0, path.length() - 24) + projectName + "/src";System.out.println(path);File file = new File(path);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]);// System.out.println(list.size());}}//讀取非空白行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[]) {LineCounter lc = new LineCounter();String projectName = "testProject"; //這里傳入你的項(xiàng)目名稱lc.counter(projectName);}
}
注意:最后的Main方法要傳入你要統(tǒng)計(jì)的項(xiàng)目名稱
轉(zhuǎn)載于:https://www.cnblogs.com/gumutianqi/archive/2011/05/31/LineCounter.html
總結(jié)
以上是生活随笔為你收集整理的发一个统计项目代码行数的Java代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: gdb学习(一)[第二版]
- 下一篇: Linux IPC实践(10) --Po