亲宝软件园·资讯

展开

Java实现代码行数统计器 利用Java简单实现一个代码行数统计器方法实例

Li_black 人气:6
想了解利用Java简单实现一个代码行数统计器方法实例的相关内容吗,Li_black在本文为您仔细讲解Java实现代码行数统计器的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java代码行数统计,java代码行数统计工具,java代码工具,下面大家一起来学习吧。

前言

哈喽,我是小黑, 最近学了java的输入输出流后一直心痒痒,总想找一点事情来做,所以用java代码来实现了一下统计代码的所有行数,看一下我上大学以来到底打了多少行。

先附上实现代码吧!

package InOutStream;
import java.util.* ;
import java.io.* ;

class codeCount {
	private static int count ; //统计总行数
	private static int countCPP ;//CPP
	private static int countJAVA ;//java
	private static int countPY ;//python
	private String path ; //用于接收用户输入保存代码的文件夹的路径
	private int reading(String path) throws Exception { //该函数用来统计一个代码文件的行数
		FileReader reader = new FileReader(path) ;
		BufferedReader buffer = new BufferedReader(reader) ;
		int count = 0 ;
		while(buffer.readLine()!=null) {
			count ++ ;
		}
		buffer.close() ;
		reader.close() ;
		return count ;
	}
	private void caculate(String nowpath) throws Exception{//计数函数
		File nowfile = new File(nowpath) ;
		if (nowfile.isFile()) {
			if (nowpath.endsWith(".cpp")) {
				int sum = reading(nowpath) ;
				countCPP += sum ;
				count += sum ;
			}
			else if (nowpath.endsWith(".py")) {
				int sum = reading(nowpath) ;
				countPY += sum ;
				count += sum ;
			}
			else if (nowpath.endsWith(".java")) {
				int sum = reading(nowpath) ;
				countJAVA += sum ;
				count += sum ;
			}
			else {
				System.out.println(nowpath.substring(nowpath.indexOf("."))+":该类型文件不属于代码文件或该代码文件统计功能正在开发中,敬请期待!");
			}
		}
		else { //如果这个路径表示的是一个文件夹,则执行递归操作
			String []filesset = nowfile.list() ;
			for (String i:filesset ) {
				String newpath = nowpath + nowfile.separator + i ;//合成路径
				caculate(newpath) ;
			}
		}
	}
	public codeCount(String src) {
		path = src ;
	}
	public static int getLinesCPP() {
		return countCPP ;
	}
	public static int getLinesJAVA() {
		return countJAVA ;
	}
	public static int getLinesPY() {
		return countPY ;
	}
	public static int getLines() {
		return count ;
	}
	public void caculator() throws Exception { //外界包装
		this.caculate(path) ;
	}
	public String toString() { //重写toString方法
		return "统计结果如下:\n" +
				"cpp行数:\n"+countCPP +
				"\njava行数:\n"+countJAVA +
				"\npython行数:\n"+countPY ;
	}
}

public class Count{
	public static void main(String []args) throws Exception {
		Scanner cin = new Scanner(System.in) ;
		System.out.println("请输入地址:");
		String path = cin.next() ;
		codeCount machine = new codeCount(path) ;
		machine.caculator(); 
		System.out.println(machine.toString());
		cin.close();
	}
}

实例:

我在桌面保存了一个文件夹用来保存代码:

打开后是这个样子:

取路径:

运行程序,将路径粘贴到程序之内

结果如下!!!

这就是所有代码拉!!如果你有其他什么实现方法或者意见或者建议,欢迎在评论区中提出来哦!

ps:由于我只学了c、cpp、java、python。所以代码中只针对这几种进行了统计,欢迎您修改代码来满足您的需求!!

总结

加载全部内容

相关教程
猜你喜欢
用户评论