`
随便小屋
  • 浏览: 105950 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

正则表达式 统计java文件代码的数量

    博客分类:
  • JAVA
阅读更多
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/**
 * 
 * @author Mr Luo
 * email 972459637@qq.com
 */

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:\\New folder");
		File[] codeFiles = f.listFiles();
		for (File child : codeFiles){
			if(child.getName().matches(".*\\.java{1}quot;)){
				parse(child);
			}
		}
		System.out.println("normalLines: " + normalLines);
		System.out.println("commentLines: " + commentLines);
		System.out.println("whiteLines: " + whiteLines);
	}
	private static void parse(File child) {
		BufferedReader bf = null;
		boolean comment = false;
		try {
			bf = new BufferedReader(new FileReader(child));
			String line = "";
			while((line = bf.readLine()) != null) {
				line = line.trim();
				if(line.matches("^[\\s&&[^\\n]]*{1}quot;)){
					whiteLines ++;
				} 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 if(line.startsWith("/*") && (line.endsWith("*/"))){
					commentLines ++;
				}
				else{
					normalLines ++;
				}
			}
		} catch (FileNotFoundException e){
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if(bf != null) {
				try {
					bf.close();
					bf = null;
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
}


分享到:
评论

相关推荐

    使用Java正则表达式分析处理日志

    Java作为广泛使用的编程语言,提供了强大的正则表达式支持,使得我们能够有效地解析和处理日志文件。本篇将围绕“使用Java正则表达式分析处理日志”这一主题,探讨如何利用Java的正则表达式功能来提取、过滤和操作...

    正则表达式.rar

    - 使用正则表达式可以编写代码统计程序,例如计算源码文件中的单词数量、行数或特定关键字出现次数。 7. **抓取网页中的email地址** - 正则表达式非常适合从HTML文本中提取电子邮件地址,通过定义符合电子邮件...

    正则统计代码中空行、注释行、代码行纯JAVA

    通过这样的方式,我们可以有效地统计Java代码中的空行、注释行和代码行,这对于代码分析和维护具有重要的实践意义。这种方法不仅适用于个人学习,也是许多开发工具和持续集成系统中常见的功能。

    java代码统计小工具

    工具会遍历指定路径下的所有.java文件,运用预设的正则表达式对每一行进行匹配,然后统计各类行的数量。 统计结果对于开发者和项目管理者来说具有重要意义。它不仅可以作为衡量个人工作效率的指标,还可以用于评估...

    一个java文件扫描程序

    3. 正则表达式:Java 文件扫描程序使用正则表达式来匹配 Java 文件。 4. 日期和时间处理:Java 文件扫描程序使用 Java 的日期和时间处理 API 来记录程序的开始和结束时间。 Java 文件扫描程序的应用场景 Java 文件...

    统计你的项目中所有java文件中有效代码量,注解量及空行数

    本话题主要关注如何统计Java项目中的有效代码量、注解量和空行数。我们将通过编写一个Java程序来实现这一功能,并以`CodeCount.java`作为我们的核心工具文件,而`a.java`和`b.java`则是我们用于测试的Java源代码文件...

    源码关键字统计.rar

    这篇关于“源码关键字统计”的主题旨在分析Java源代码文件,并计算其中出现的关键字数量。这个任务涉及到文件读取、字符串处理、正则表达式以及对Java语法的深入理解。 首先,我们需要理解如何从控制台获取Java源...

    java代码统计工具

    此外,开发者可能会利用Java的内置类库,如`java.nio.file`包进行文件操作,以及正则表达式进行文本解析。对于更复杂的代码结构分析,可能需要引入第三方库,如JavaCC或ANTLR等解析器生成器。 总的来说,这个Java...

    java实现从命令行读入文本统计字符的程序

    这个程序巧妙地结合了Java的基础输入输出、正则表达式和文件操作等技术。下面我们将详细讨论这些知识点。 1. **命令行参数**:在Java中,可以使用`public static void main(String[] args)`方法来接收命令行参数。`...

    一个基于java的c的代码计数程序

    总的来说,创建这样一个代码计数程序涵盖了Java基础、文件操作、字符串处理、正则表达式、数据结构、多线程、编译原理以及软件测试等多个方面的知识。这不仅锻炼了开发者的技术能力,也提高了他们对代码质量和项目...

    java字数统计程序

    总的来说,"java字数统计程序"这个项目涵盖了Java编程的基础知识,包括输入输出、字符串处理、异常处理、面向对象编程、正则表达式、用户界面设计以及文件操作等多个方面,是学习和巩固Java技术的一个好实践。...

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

    如果你正在编写自己的统计脚本,可以使用正则表达式来匹配并排除注释。 以 Python 为例,你可以使用以下简单的正则表达式来匹配和删除注释行: ```python import re def remove_comments(code): comment_pattern...

    java工程代码行计算器

    Java工程代码行计算器是一款实用工具,它专门设计用于统计Java项目的源代码数量,提供有关总代码行、空白行和实际代码行的详细信息。在软件开发过程中,代码行计数可以作为评估项目规模、复杂性以及工作量的一种方法...

    Java代码统计

    1. **文件I/O操作**:在统计代码数量时,程序需要读取Java源代码文件。Java的`java.io`包提供了许多类来处理文件输入输出,如`FileReader`, `BufferedReader`等,用于读取文件内容。 2. **文本解析**:Java代码由...

    总计字数,类似word统计

    在C#编程环境中,我们经常会遇到需要...总结起来,在C#中实现“字数统计”功能主要涉及正则表达式、字符串操作以及文件I/O。通过合理地组合这些技术,你可以构建出高效且灵活的字数统计工具,满足各种应用场景的需求。

    代码行数统计

    4. **自动化脚本**:编写自定义脚本,利用正则表达式或其他解析技术,对非Java文件进行行数统计。 在实际开发中,除了代码行数外,质量、可读性和复杂性也是评估代码的重要因素。因此,虽然代码行数是一个直观的...

    代码统计工具

    2. **正则表达式匹配**:利用特定的正则表达式来区分不同的代码部分。 3. **语法解析器**:对于一些高级工具,会使用语言的语法解析器来更准确地分析代码结构。 四、SourceCounter-downgod介绍 虽然没有提供具体...

    代码行统计(delphi C C++ C# java)

    你可以使用专用的代码统计工具,如LineCount,或者编写脚本通过正则表达式匹配来统计。统计Delphi代码行时,要区分注释、空行和有效代码行,以便更准确地评估项目复杂性。 2. **C语言代码行统计** C语言的代码行...

    简单的电话号码统计程序(Java)

    此外,可能还需要使用正则表达式来验证电话号码的格式是否正确。 5. **统计分析**:程序的核心是统计分析部分,可能包括计算电话号码的总数、唯一电话号码的数量、最频繁出现的电话号码等。这需要使用循环、条件...

    java 课程设计 文本统计 源代码 很人性化的窗口设计

    然后,我们需要对文本进行分词,通常使用正则表达式来分割字符串,找出所有的单词。Java的Pattern和Matcher类可以实现这一功能。 4. 字符串操作与统计: 分词后,我们需要计算单词总数和平均长度。这涉及到对字符...

Global site tag (gtag.js) - Google Analytics