java代码行数统计器,java 统计代码行数

代码统计工具,要支持差异统计,如:代码修改行数、删除行数、新增行数等

我想你要的正是TortoiseSVN,使用方法见

创新互联是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,微信小程序开发,十余年建站对成都发电机租赁等多个领域,拥有多年的营销推广经验。

他的代码差异统计功能无庸质疑

另外介绍一个也是统计代码差异的工具:StatSVN

StatSVN能够从Subversion版本库中取得信息,然后生成描述项目开发的各种表格和图表。比如:总代码行数;代码行数的时间线;针对每个开发者的代码行数;开发者的活跃程度;开发者最近所提交的;文件数量;平均文件大小;最大文件;哪个文件是修改最多次数的;目录大小;带有文件数量和代码行数的Repository tree。StatSVN当前版本能够生成一组包括表格与图表的静态HTML文档。

如何计算一个.java文件的代码行数

方法一:

如果想要通过java代码的方式来计算.java文件的行数,可以通过IO来读取,

BufferedReader的方法readLine()来按行读取,每读取一行,行数+1

方法二:

如果要查看.java文件的代码行数,

可以使用现成的IDE工具,比如ECLIPSE...

每一行的行号都有表示出来

怎么用java编写统计文件中的字符数、单词数和行数?

在C盘新建文件1.txt,输入任意字符,如下图:

编写java代码。如下:

import java.io.BufferedReader;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.IOException;

import java.util.TreeMap;

public class Test {

// 统计数字或者字符出现的次数

public static TreeMapCharacter, Integer Pross(String str) {

char[] charArray = str.toCharArray();

TreeMapCharacter, Integer tm = new TreeMapCharacter, Integer();

for (int x = 0; x  charArray.length; x++) {

if (!tm.containsKey(charArray[x])) {

tm.put(charArray[x], 1);

} else {

int count = tm.get(charArray[x]) + 1;

tm.put(charArray[x], count);

}

}

return tm;

}

public static void main(String[] args) {

BufferedReader br = null;

int line = 0;

String str = "";

StringBuffer sb  = new StringBuffer();

try {

br = new BufferedReader(new FileReader("c:\\1.txt"));

while ((str = br.readLine()) != null) {

sb.append(str);

++line;

}

System.out.println("\n文件行数: " + line);

System.out.println("\n文件内容: " + sb.toString());

TreeMapCharacter, Integer tm = Pross(sb.toString());

System.out.println("\n字符统计结果为:" + tm);

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally {

if (br != null) {

try {

br.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

}运行结果如下图:

Java 有什么好的代码行数,注释行数统计工具

package com.syl.demo.test;

import java.io.*;

/**

* java代码行数统计工具类

* Created by 孙义朗 on 2017/11/17 0017.

*/

public class CountCodeLineUtil {

private static int normalLines = 0; //有效程序行数

private static int whiteLines = 0; //空白行数

private static int commentLines = 0; //注释行数

public static void countCodeLine(File file) {

System.out.println("代码行数统计:" + file.getAbsolutePath());

if (file.exists()) {

try {

scanFile(file);

} catch (IOException e) {

e.printStackTrace();

}

} else {

System.out.println("文件不存在!");

System.exit(0);

}

System.out.println(file.getAbsolutePath() + " ,java文件统计:" +

"总有效代码行数: " + normalLines +

" ,总空白行数:" + whiteLines +

" ,总注释行数:" + commentLines +

" ,总行数:" + (normalLines + whiteLines + commentLines));

}

private static void scanFile(File file) throws IOException {

if (file.isDirectory()) {

File[] files = file.listFiles();

for (int i = 0; i files.length; i++) {

scanFile(files[i]);

}

}

if (file.isFile()) {

if (file.getName().endsWith(".java")) {

count(file);

}

}

}

private static void count(File file) {

BufferedReader br = null;

// 判断此行是否为注释行

boolean comment = false;

int temp_whiteLines = 0;

int temp_commentLines = 0;

int temp_normalLines = 0;

try {

br = new BufferedReader(new FileReader(file));

String line = "";

while ((line = br.readLine()) != null) {

line = line.trim();

if (line.matches("^[//s[^//n]]*$")) {

// 空行

whiteLines++;

temp_whiteLines++;

} else if (line.startsWith("/*") !line.endsWith("*/")) {

// 判断此行为"/*"开头的注释行

commentLines++;

comment = true;

} else if (comment == true !line.endsWith("*/")) {

// 为多行注释中的一行(不是开头和结尾)

commentLines++;

temp_commentLines++;

} else if (comment == true line.endsWith("*/")) {

// 为多行注释的结束行

commentLines++;

temp_commentLines++;

comment = false;

} else if (line.startsWith("//")) {

// 单行注释行

commentLines++;

temp_commentLines++;

} else {

// 正常代码行

normalLines++;

temp_normalLines++;

}

}

System.out.println(file.getName() +

" ,有效行数" + temp_normalLines +

" ,空白行数" + temp_whiteLines +

" ,注释行数" + temp_commentLines +

" ,总行数" + (temp_normalLines + temp_whiteLines + temp_commentLines));

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally {

if (br != null) {

try {

br.close();

br = null;

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

//测试

public static void main(String[] args) {

File file = new File("F:\\myweb");

countCodeLine(file);

}

}


分享文章:java代码行数统计器,java 统计代码行数
文章地址:http://hbruida.cn/article/dssoops.html