package datasturct;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
public class CodeCounter {
/**普通行数*/
private long normalLines=0;
/**注释行数*/
private long commentLines=0;
/**空白行数*/
private long spaceLines=0;
/**总行数*/
private long totalLines=0;
/***
* 通过java文件路径构造该对象
* @param filePath java文件路径
*/
public CodeCounter(String filePath){
tree(filePath);
}
/**
* 处理文件的方法
* @param filePath 文件路径
*/
private void tree(String filePath){
File file=new File(filePath);
File[] childs=file.listFiles();
if(childs==null){
parse(file);
}else{
for(int i=0;i<childs.length;i++){
System.out.println("path:"+childs[i].getPath());
if(childs[i].isDirectory()){
tree(childs[i].getPath());
}else{
childs[i].getName().matches(".*\\.java$");
System.out.println("当前"+childs[i].getName()+"代码行数:");
parse(childs[i]);
getCodeCounter();
}
}
}
}
/**
* 解析文件
* @param file 文件对象
*/
private void parse(File file){
BufferedReader br=null;
boolean comment=false;
try {
br=new BufferedReader(new FileReader(file));
String line="";
while((line=br.readLine())!=null){
line=line.trim();//去除空格
if(line.matches("^[\\s&&[^\\n]]*$")) {
spaceLines ++;
}else if((line.startsWith("/*"))&& !line.endsWith("*/")) {
commentLines ++;
comment = true;
}else if(true == comment) {
commentLines ++;
if(line.endsWith("*/")) {
comment = false;
}
}else if(line.startsWith("//")) {
commentLines ++;
}else {
normalLines ++;
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 得到Java文件的代码行数
*/
private void getCodeCounter(){
totalLines=normalLines+spaceLines+commentLines;
System.out.println("普通代码行数:"+normalLines);
System.out.println("空白代码行数:"+spaceLines);
System.out.println("注释代码行数:"+commentLines);
System.out.println("代码总行数:"+totalLines);
normalLines=0;
spaceLines=0;
commentLines=0;
totalLines=0;
}
public static void main(String args[]){
CodeCounter counter=new CodeCounter("d:\\newapps\\workspace\\Util\\src");
}
}
分享到:
相关推荐
在Java项目中,代码行数统计尤其重要,因为它可以帮助开发者保持代码的整洁和可读性,防止过度复杂化。通过这个Eclipse插件,开发者可以轻松地查看代码中的注释行数,这在一定程度上反映了代码的可读性和文档质量。...
针对Java编程语言,有一个专门用于统计代码行数的工具,它不仅适用于Java,还支持C++、Delphi和C#等其他编程语言。本文将详细介绍这个名为"IrisCodeCounter"的工具,以及如何利用它来有效地分析和管理代码库。 ...
"eclipse代码行数统计插件"就是这样一个工具,它能够帮助开发者快速地统计出项目中的代码行数,包括注释和空行。 在Eclipse中,安装和使用代码行数统计插件非常简单。首先,用户需要打开"Windows"菜单,然后选择...
下面是一个简化的Java代码片段,展示了如何处理Java源文件的代码行统计: ```java import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; public class ...
Java实现的SVN统计修改代码行数的源码解析 在软件开发过程中,代码行数(LOC,Lines of Code)经常被用作评估项目规模、工作量和复杂度的一个指标。对于版本控制系统如Subversion(SVN),了解每次提交中修改的代码...
总之,"java代码行数统计源码"提供的工具是一个实用的开发辅助程序,它综合运用了Java的文件操作、源代码解析、数据处理和可能的用户界面设计等多个技术领域,为开发者提供了一种量化评估项目规模的方式。...
统计源代码行数(SLOC,Source Lines of Code)是一种常见的度量方法,它能够帮助开发者了解项目的规模、估算开发时间和资源需求。"统计源代码行数工具exe"正是这样一款实用工具,它允许用户快速地对代码库进行分析...
标题提到的“代码行数统计工具”是专门用于计算源代码文件中行数的实用程序,适用于各种项目。这种工具能够帮助开发者、项目经理和质量保证人员了解项目的整体状况,进行进度跟踪、资源规划和复杂性分析。 代码行数...
Visual Studio 和 Eclipse 中代码行数统计方法 在软件开发过程中,统计代码行数是非常重要的一步,因为它可以帮助开发者了解代码的规模和复杂度,并且能够对代码质量和可维护性进行评估。在 Visual Studio 和 ...
本文将详细介绍一款专用于Windows平台的代码行数计算工具,帮助读者掌握其使用方法,并探讨代码行数统计在实际开发中的意义。 首先,我们要明确的是,代码行数并不直接等同于软件质量,但它可以反映出项目的工作量...
统计Java代码行数有助于估计项目的维护成本和开发进度。注释在Java中很重要,它们提供了代码的解释,但不应计入代码行数统计中。同样,空行也有助于提高代码可读性,但不贡献实际功能。 C#是微软公司开发的一种.NET...
Java代码行数统计工具是一种实用程序,它可以帮助开发者量化他们的工作量,跟踪项目进度,以及进行代码质量分析。这个zip文件包含的工具专门设计用来计算Java源代码中的行数,提供了一个直观的方式来了解代码库的...
本文将深入探讨如何使用Java工具类来统计一个项目中的代码行数。 首先,我们需要理解代码行数计算的基本概念。通常,代码行数包括源代码文件中的所有非空行,但不包括注释行。在实际项目中,我们可能需要区分空行、...
在软件开发过程中,统计源代码行数(Lines of Code, LOC)是一种常见的度量方法,用于评估项目的规模、复杂性和工作量。统计源代码行数不仅包括实际的可执行代码,还包括注释和空行。然而,对于有效的代码行数,通常...
在软件开发过程中,统计源代码行数是一种常见的度量方式,可以帮助开发者理解项目的规模、复杂性和维护成本。本文将深入探讨“统计源代码行数工具”及其重要性,并提供一些实用的方法来完成这项任务。 首先,我们要...
MyEclipse中有一项代码统计的功能,可以统计出代码的行数,但是只能查看Java代码的行数,而Eclipse中根本没有此功能(可能本人没有找到),所以我写了一个代码统计的代码,可以查看工程中的Java代码,jsp代码,xml...