欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

统计项目源码行数的Java代码,项目源码行数java,统计项目源码行数的Jav

来源: javaer 分享于  点击 35688 次 点评:23

统计项目源码行数的Java代码,项目源码行数java,统计项目源码行数的Jav


统计项目源码行数的Java代码```javaimport java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.util.ArrayList;import java.util.List;

/**


@description 计算源代码(src)行数,不计算空行宗旨:将src下所有文件组装成list,再筛选出文件,对文件进行遍历读取

*/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(); // 同下个path path = 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";     //这里传入你的项目名称    lc.counter(projectName);}

} 注意:最后的Main方法要传入你要统计的项目名称 ```

相关栏目:

用户点评