统计源代码文件的总行数、空行数、注释行数、代码行数
来源:互联网 发布:im域名国内可以备案么 编辑:程序博客网 时间:2024/05/20 10:53
目的:
一门语言的,如Java的入门,至少要编写两万行代码,所以我们需要编写计算代码行数的程序:这个程序同时可以知道我们编写的每一个程序的程度(大概可以从代码的长度可以看出一部分);这也是一种必要性。
源代码:
import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class StaticsCodeingLine {private static int whiteLines = 0;private static int commentLines = 0;private static int normalLines = 0;/** * @param args */public static void main(String[] args) {File f = new File("G:\\java\\javav\\TextMulTable\\src\\TextMulTable.java"); sumCode(f);}private static void sumCode(File file) { BufferedReader br = null; boolean comment = false; try { br = new BufferedReader(new FileReader(file)); String line = ""; try { 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 (true == comment) { commentLines++; if (line.endsWith("*/")) { comment = false; } } else if (line.startsWith("//")) { commentLines++; } else { normalLines++; } } } catch (IOException e) { e.printStackTrace(); } } catch (FileNotFoundException e) { e.printStackTrace(); } finally { if (br != null) { try { System.out.println("空行数:"+whiteLines);System.out.println("注释行数:"+commentLines);System.out.println("代码行数:"+normalLines);br.close(); br = null; } catch (IOException e) { e.printStackTrace(); } } } }}代码执行结果:
这源代码基本都是参考老师分享的链接得来的,但是同时遇到一个小问题,如下:
The declared package..does not match the expected package
大概是:包名必须在程序中通过package语句来指定(例如 package org.it),而不是单纯的靠目录结构来指定,是先有了包名之后,才需要相应的目录结构。这是实际上的类名为org.it315.classname。必须把包声明放在源文件最前面,并且每个源文件最多只能声明一个包。好像移除就可以了吧;
0 0
- 统计源代码文件的总行数、空行数、注释行数、代码行数
- 给定一个源代码文件,输出该文件的总行数、空行数、注释行数、代码行数
- 给定一个源代码文件(.cs, .java),输出该文件的总行数、空行数、注释行数、代码行数
- 给定一个源代码文件(.cs, .java),输出该文件的总行数、空行数、注释行数、代码行数
- 给定一个源代码文件(.cs, .java),输出该文件的总行数、空行数、注释行数、代码行数
- 给定一个源代码文件(.cs, .java),输出该文件的总行数、空行数、注释行数、代码行数
- 给定一个源代码文件(.cs, .java),输出该文件的总行数、空行数、注释行数、代码行数
- 给定一个源代码文件(.cs, .java),输出该文件的总行数、空行数、注释行数、代码行数
- 给定一个源代码文件(.cs, .java),输出该文件的总行数、空行数、注释行数、代码行数
- 给定一个源代码文件(.cs, .java),输出该文件的总行数、空行数、注释行数、代码行数
- 《C#程序设计》第一次作业 给定一个源代码文件(.cs, ),输出该文件的代码行数、注释行数、空行数、代码总行数、。
- C#第一次作业:输出文件总行数、空行数、注释行数、代码行数
- 挺激动的,琢磨了不久(目标1:给定一个源代码文件(.cs, .java),输出该文件的总行数、空行数、注释行数、代码行数)
- 第七章:输入与输出,给定一个源代码文件(.cs, .java),输出该文件的总行数、空行数、注释行数、代码行数。
- 作业一目标一给定一个源代码文件(.cs, .java),输出该文件的总行数、空行数、注释行数、代码行数
- 输出该文件的总行数、空行数、注释行数、代码行数
- python写的统计PYTHON文件的(代码行数,空行数,注释行数)小程序
- 输出该目录下指定类型文件(.cs, .java)的个数、文件的总行数、空行数、注释行数、代码行数
- oracle_基础八(Undo)
- Phone List 南邮NOJ 1522
- 最傻的人是我
- 蓝桥杯那些事
- 算法导论 第18章 B 树
- 统计源代码文件的总行数、空行数、注释行数、代码行数
- 将一个二叉树镜像
- 【R for fun 系列】汉诺塔
- C++ 运算结果出现 1.#IND, 1.#INF nan, inf 原因
- 在Azure 环境里安装 SharePoint 2013 系统(三)在Windows Azure VM中配置Sql Server 2012
- poj 3264 Balanced Lineup
- 乱七八糟-局域网内解决路由器无法支持ipv6问题……
- Mysql 更改主机名
- Hbase0.98版本的安装部署配置管理(Hadoop2.3、Hbase0.98、Hive0.13整合)