`
kevin_wanwei
  • 浏览: 117601 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

统计java代码行数

阅读更多
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");
	}
}

 

1
0
分享到:
评论

相关推荐

    统计代码行数的Eclipse插件

    在Java项目中,代码行数统计尤其重要,因为它可以帮助开发者保持代码的整洁和可读性,防止过度复杂化。通过这个Eclipse插件,开发者可以轻松地查看代码中的注释行数,这在一定程度上反映了代码的可读性和文档质量。...

    java代码行数统计工具

    针对Java编程语言,有一个专门用于统计代码行数的工具,它不仅适用于Java,还支持C++、Delphi和C#等其他编程语言。本文将详细介绍这个名为"IrisCodeCounter"的工具,以及如何利用它来有效地分析和管理代码库。 ...

    eclipse代码行数统计插件

    "eclipse代码行数统计插件"就是这样一个工具,它能够帮助开发者快速地统计出项目中的代码行数,包括注释和空行。 在Eclipse中,安装和使用代码行数统计插件非常简单。首先,用户需要打开"Windows"菜单,然后选择...

    java 统计代码行数

    下面是一个简化的Java代码片段,展示了如何处理Java源文件的代码行统计: ```java import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; public class ...

    java实现的svn统计修改代码行数完整源码

    Java实现的SVN统计修改代码行数的源码解析 在软件开发过程中,代码行数(LOC,Lines of Code)经常被用作评估项目规模、工作量和复杂度的一个指标。对于版本控制系统如Subversion(SVN),了解每次提交中修改的代码...

    java代码行数统计源码

    总之,"java代码行数统计源码"提供的工具是一个实用的开发辅助程序,它综合运用了Java的文件操作、源代码解析、数据处理和可能的用户界面设计等多个技术领域,为开发者提供了一种量化评估项目规模的方式。...

    统计源代码行数工具exe

    统计源代码行数(SLOC,Source Lines of Code)是一种常见的度量方法,它能够帮助开发者了解项目的规模、估算开发时间和资源需求。"统计源代码行数工具exe"正是这样一款实用工具,它允许用户快速地对代码库进行分析...

    代码行数统计工具

    标题提到的“代码行数统计工具”是专门用于计算源代码文件中行数的实用程序,适用于各种项目。这种工具能够帮助开发者、项目经理和质量保证人员了解项目的整体状况,进行进度跟踪、资源规划和复杂性分析。 代码行数...

    visual studio和eclipse如何统计代码行数

    Visual Studio 和 Eclipse 中代码行数统计方法 在软件开发过程中,统计代码行数是非常重要的一步,因为它可以帮助开发者了解代码的规模和复杂度,并且能够对代码质量和可维护性进行评估。在 Visual Studio 和 ...

    代码行数计算工具 win版 计算代码行数

    本文将详细介绍一款专用于Windows平台的代码行数计算工具,帮助读者掌握其使用方法,并探讨代码行数统计在实际开发中的意义。 首先,我们要明确的是,代码行数并不直接等同于软件质量,但它可以反映出项目的工作量...

    代码行数统计器(html,java,c#,c++,c)

    统计Java代码行数有助于估计项目的维护成本和开发进度。注释在Java中很重要,它们提供了代码的解释,但不应计入代码行数统计中。同样,空行也有助于提高代码可读性,但不贡献实际功能。 C#是微软公司开发的一种.NET...

    java代码行数统计.zip

    Java代码行数统计工具是一种实用程序,它可以帮助开发者量化他们的工作量,跟踪项目进度,以及进行代码质量分析。这个zip文件包含的工具专门设计用来计算Java源代码中的行数,提供了一个直观的方式来了解代码库的...

    java代码计算行数

    本文将深入探讨如何使用Java工具类来统计一个项目中的代码行数。 首先,我们需要理解代码行数计算的基本概念。通常,代码行数包括源代码文件中的所有非空行,但不包括注释行。在实际项目中,我们可能需要区分空行、...

    统计源代码行数及有效代码

    在软件开发过程中,统计源代码行数(Lines of Code, LOC)是一种常见的度量方法,用于评估项目的规模、复杂性和工作量。统计源代码行数不仅包括实际的可执行代码,还包括注释和空行。然而,对于有效的代码行数,通常...

    统计源代码行数工具

    在软件开发过程中,统计源代码行数是一种常见的度量方式,可以帮助开发者理解项目的规模、复杂性和维护成本。本文将深入探讨“统计源代码行数工具”及其重要性,并提供一些实用的方法来完成这项任务。 首先,我们要...

    java代码行数统计

    MyEclipse中有一项代码统计的功能,可以统计出代码的行数,但是只能查看Java代码的行数,而Eclipse中根本没有此功能(可能本人没有找到),所以我写了一个代码统计的代码,可以查看工程中的Java代码,jsp代码,xml...

Global site tag (gtag.js) - Google Analytics