利用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。所以代码中只针对这几种进行了统计,欢迎您修改代码来满足您的需求!!总结到此这篇关于利用Java简单实现一个代码行数统计器的文章就介绍到这了,更多相关Java实现代码行数统计内容搜索编程之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程之家!

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...