import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.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 = LineCounter.class.getResource("/").getPath(); // 同下个path
path = path.substring(0, path.length() - 24) + "/src";
// String path = "/D:/workspace/ccn/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下所有文件组织成list
public 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 = "ccn"; // 这里传入你的项目名称
lc.counter(projectName);
}
}
注意:最后的Main方法要传入你要统计的项目名称
分享到:
相关推荐
用于统计项目的代码行数。在代码中修改路径即可。适用于多种文件格式。
支持 js java .net asp html .c vb sql 所有源码文件的代码行数统计,可统计文件夹内文件的代码行数。一键统计,快捷方便
可用于对VC++、C++ Builder、Delphi、VB、C/C++、ASM、Java、C#、SQL 等程序源码进行详细的统计,可以准确的分析出程序中代码行、注释行和空白行的行数。程序会自动根据你选择的文件类型选择相应的统计方式,并将...
java项目代码行数统计
代码行统计工具用Java语言实现,可以对C\C++、Java的源代码进行统计,统计结果包括:总行数、空行数、注释行数和代码行数,统计结果可以以表格的形式显示给用户或另存为文件。 一 执行环境: 操作系统:WindowsNT/...
免费的源代码行数统计工具,支持20多种代码格式。具有统计迅速、准确的优点...可以对 C++、VB.Net、VB、C#、JAVA、Delphi、ASP.Net、ASP、JSP、PHP、HTML 等项目的代码行数、工数和成本进行统计,并能保存统计的结果。
显示项目统计数量。 这个插件显示的是按扩展名排序的文件,以及大小、行数、LOC等。 用户可以选择统计(Project/Module/Package/File)范围,选择范围后需要点击Refresh,。 (这个插件需要Java1.8)
软件开发人员都可能要统计项目中的源代码行数,我上传的这个资源就是为了满足大家的这个需要。它能统计C/C++ VB C# Java Delphi txt/html asm等众多编程语言的源代码行数。
Java、C#、SQL 等程序源码进行详细的统计,可以准确的分 析出程序中代码行、注释行和空白行的行数。程序会自动根 据你选择的文件类型选择相应的统计方式,并将所有文件的 分析结果进行汇总,便于方便直观的对软件...
统计某一个版本的代码包相对于一个原始的基线代码包,变动的代码量 以及变动的代码量中各语言非空非注释行(NBNC)的结果 diffcount 缺省执行的就是差异统计,直接跟上两个代码包的目录即可 在diffcount目录下...
统计代码行数的工具kazoeca, 可以统计java,c,asp项目的代码修改量
免费的源代码行数统计工具,支持20多种代码格式。可以对 VC++/.Net/JAVA/VB/Delphi/ASP/HTML 等项目的代码进行统计,并能保存统计的结果。 统计迅速、准确,是程序开发人员的必备工具
代码统计工具这款软件是一款功能非常实用的统计软件,用户可以用这款软件对开发项目的各个开发阶段的工数、成本、质量指标等进行分析和预测,操作起来非常简单易上手。这款软件支持30多种代码格式,可以统计代码行数...
python小项目之统计代码行数与美化打印,数据存储,分析源码.zip
可用于对VC++、C++ Builder、Delphi、VB、C/C++、ASM、Java、C#、SQL 等程序源码进行详细的统计,可以准确的分析出程序中代码行、注释行和空白行的行数。程序会自动根据你选择的文件类型选择相应的统计方式,并将...
可以统计单个文件的代码行数,或者整个工程的代码行数。 不需安装,即下即用。 支持C,C++,BASIC,DELPHI,JAVA,ASM多种语言。 项目管理者、测试人员必用工具。
Java、C#、SQL 等程序源码进行详细的统计,可以准确的分 析出程序中代码行、注释行和空白行的行数。程序会自动根 据你选择的文件类型选择相应的统计方式,并将所有文件的 分析结果进行汇总,便于方便直观的对软件...