`

Java CodeCounter

阅读更多
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class CodeCounter {
	
	static long normalLines = 0;
	static long commentLines = 0;
	static long whiteLines = 0;
	
	public static void main(String[] args) {
		File f = new File("D:\\GoShopping\\src\\com\\wy\\test\\");
		File[] codeFiles = f.listFiles();
		for(File child : codeFiles){
			if(child.getName().matches(".*\\.java$")) {
				parse(child);
			}
		}
		
		System.out.println("normalLines:" + normalLines);
		System.out.println("commentLines:" + commentLines);
		System.out.println("whiteLines:" + whiteLines);
		
	}

	private static void parse(File f) {
		BufferedReader br = null;
		boolean comment = false;
		try {
			br = new BufferedReader(new FileReader(f));
			String line = "";
			while((line = br.readLine()) != null) {
				line = line.trim();
				if(line.matches("^[\\s&&[^\\n]]*$")) {
					whiteLines ++;
				} else if (line.startsWith("/*") && !line.endsWith("*/")) {
					commentLines ++;
					comment = true;	
				} else if (line.startsWith("/*") && line.endsWith("*/")) {
					commentLines ++;
				} else if (true == comment) {
					commentLines ++;
					if(line.endsWith("*/")) {
						comment = false;
					}
				} else if (line.startsWith("//")) {
					commentLines ++;
				} else {
					normalLines ++;
				}
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if(br != null) {
				try {
					br.close();
					br = null;
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}

}

 

分享到:
评论

相关推荐

    CodeCounter_代码统计.java

    CodeCounter_代码统计,可直接运行的main文件,灵活统计指写目录下的java文件中的代码行数。

    java代码统计工具

    `CodeCounter.java`可能是该工具的主要源代码文件,包含了统计逻辑;`MyFilter.java`可能是一个过滤器类,用于筛选和处理.java文件。 首先,我们要明白Java代码统计的基本原理。这通常涉及到读取.java文件的内容,...

    CodeCounter1.0.0(代码统计).zip

    这款工具的核心在于其强大的代码分析能力,能够识别并统计包括但不限于Java、C++、Python、JavaScript等在内的多种编程语言的代码行数。它不仅计算源代码行,还包括空行和注释行,从而提供更为全面的统计信息。这...

    CodeCounter

    《CodeCounter:Java实现的代码统计利器》 在软件开发过程中,代码统计是一项重要的任务,它可以帮助开发者了解项目规模,评估工作量,监控代码质量。CodeCounter是一款基于Java开发的图形化工具,专为此目的而设计...

    java代码计算行数

    public class CodeCounter { private int totalLines; private int codeLines; private int commentLines; public void countCodeLines(String filePath) { File file = new File(filePath); if (file.isFile...

    codeCounter

    "codeCounter"能够处理多种编程语言,包括但不限于C++、Java、Python、JavaScript、C#等,这意味着它具备广泛的适用性,适用于各种类型的软件项目。 "CodeCounter.exe"是该工具的可执行文件,用户可以直接运行它来...

    java多线程代码行数计数器

    文件列表中包含的`codecounter.jar`和`codecounter.rar`两个文件,分别代表了可执行的Java应用程序和源代码的压缩包。`.jar`文件是Java的归档文件,包含了编译后的字节码,可以直接通过Java虚拟机运行。`.rar`文件则...

    CodeCounter(检查代码行数).zip

    CodeCounter能够支持多种编程语言,包括但不限于C++, Java, Python, JavaScript, C#, PHP等。通过分析这些代码文件,它可以提供以下关键信息: 1. 总代码行数:这是项目中所有源代码文件的行数总和,包括空行、注释...

    Java代码统计

    7. **面向对象编程**:如果代码结构更复杂,可能会使用类和对象来封装代码统计的功能,例如创建一个`CodeCounter`类,包含文件读取、解析、计数等方法。 8. **输出结果**:统计完成后,程序应将结果以用户可读的...

    代码行统计Java代码

    public class CodeCounter { static long normalLines = 0; static long commentLines = 0; static long whiteLines = 0; public static void main(String[] args) { // 改写读取文件地址。 File f = new ...

    CodeCounter.jar

    java语言开发,用于统计代码工作量,使用简洁

    软件代码行数(java,c均适用)统计器

    “CodeCounter.exe”很可能就是这个统计器的可执行文件,它可以直接在Windows操作系统上运行。用户只需将待分析的Java或C源代码文件拖放到这个程序上,或者指定代码文件的路径,就可以得到统计结果。这大大简化了...

    Java正则表达式使用

    Java正则表达式是Java语言中用于处理字符串的强大工具,它允许我们通过模式匹配和查找来解析、验证或提取文本。在本文中,我们将重点讨论如何在Java中使用正则表达式来抓取网页中的电子邮件地址以及进行代码统计。 ...

    统计项目代码量(附源码)

    - 类定义:可能有一个名为`CodeCounter`的主类,负责执行代码统计功能。 - 文件操作方法:用于读取和处理单个文件的函数,如`countCodeLines(String filePath)`。 - 目录遍历方法:如`traverseDirectory(String ...

    CodeCounter-开源

    值得注意的是,CodeCounter可能支持多种编程语言,包括但不限于C++、Java、Python、JavaScript等。对于每种语言,它可能有不同的规则来识别注释和空行,确保统计结果的准确性。此外,它可能还提供了可视化报告,使...

    java正则表达式简单应用

    - 在这段代码中,`CodeCounter`类用于统计Java源代码文件中的正常代码行、注释行和空白行。正则表达式用于区分不同类型的行: - `.*\.java$`:匹配以".java"结尾的文件名,用于筛选Java源文件。 - 通过遍历文件夹...

    代码行数统计器,支持java,c++,net等代码的统计

    `CodeCounter.exe`是这个工具的可执行文件,通常在Windows环境下运行。用户只需将此文件放在含有源代码的目录下,运行即可进行统计。对于非Windows用户,可能需要寻找相应的跨平台版本或依赖于模拟环境来运行。总的...

    代码量统计,可以统计去掉注释和空行的代码量.pdf

    public class CodeCounter { static long codeLines = 0; static long commentLines = 0; static long blankLines = 0; static ArrayList<File> fileArray = new ArrayList(); public static void main(String...

    计算代码行数

    public class CodeCounter { public static void main(String[] args) { File dir = new File("/path/to/your/project"); // 替换为你的项目目录 countCodeLines(dir); } private static void countCodeLines...

    统计项目代码量

    【压缩包子文件的文件名称列表】中有一个名为"CodeCounter"的文件,这可能是程序的主类或可执行文件。如果是一个Java程序,它可能包含了主函数,负责启动程序并调用其他类来完成代码量统计任务。这个文件可能还包含...

Global site tag (gtag.js) - Google Analytics