`

统计代码行数

    博客分类:
  • java
 
阅读更多

import lombok.extern.slf4j.Slf4j;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.springframework.boot.test.context.SpringBootTest;

import org.springframework.test.context.junit4.SpringRunner;

 

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

@Slf4j

@SpringBootTest(classes = TelemarketCoreApplication.class)

@RunWith(SpringRunner.class)

public class Common {

 

    /**

     * 统计项目代码行数

     */

//    @Test

//    public void codeCount() 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();

//    }

    /**

     * 统计项目代码行数

     */

    @Test

    public void codeCount() throws Exception {

        codeCount machine = new codeCount("F:\\job-vcs\\telemarket-api") ;

        machine.caculator();

        System.out.println(machine.toString());

    }

 

}

 

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+":该类型文件不属于代码文件或该代码文件统计功能正在开发中,敬请期待!");

            }

        }

        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 ;

    }

}

 

分享到:
评论

相关推荐

    visual studio和eclipse如何统计代码行数

    在软件开发过程中,统计代码行数是非常重要的一步,因为它可以帮助开发者了解代码的规模和复杂度,并且能够对代码质量和可维护性进行评估。在 Visual Studio 和 Eclipse 中,统计代码行数可以通过使用正则表达式和...

    Visual Studio 统计代码行数

    "Visual Studio 统计代码行数"这个主题就是一个非常实用的功能,它能帮助我们量化项目的代码量,进而评估项目进度、复杂性和维护性。以下是对这个功能的详细解释: Visual Studio是一款由微软公司开发的强大集成...

    统计代码行数的Eclipse插件

    "统计代码行数的Eclipse插件"就是这样一个工具,它能够帮助开发者快速地分析和度量他们的代码库,包括注释和实际可执行代码的数量。 这个插件设计精良,经过全面测试,确保了统计结果的准确性。无论是整个工程目录...

    C# 统计代码行数

    在C#编程中,统计代码行数是一项常见的需求,特别是在软件开发过程中进行代码质量管理或评估项目规模时。本文将详细讲解如何使用Visual Studio 2013(VS2013)来统计代码行数,并扩展到处理不同文件类型以及包含多个...

    非常实用的统计代码行数

    在软件开发过程中,统计代码行数是一项常见的任务,它可以帮助我们了解项目的规模、评估开发进度以及比较不同项目或模块的工作量。"非常实用的统计代码行数"工具就是专为此目的设计的。以下是对这个主题的详细说明:...

    idea统计代码行数插件.zip

    "idea统计代码行数插件"正是这样一款能够帮助开发者高效统计代码行数的利器。 该插件名为"统计代码行数的idea插件",其主要功能在于对项目中的不同类型的文件进行分类统计,包括Java源代码行数、XML配置文件行数...

    统计源代码行数工具exe

    统计代码行数虽然不是衡量软件质量的唯一标准,但它确实为项目管理和决策提供了一个量化的参考。比如,通过对比不同阶段的代码行数,可以评估开发进度;在团队协作中,可以依据每个人的代码贡献来分配任务或评价工作...

    java 统计代码行数

    在Java编程语言中,统计代码行数是一项常见的需求,它可以帮助开发者评估项目规模,跟踪代码增长,以及在软件维护和优化时提供参考。本篇文章将详细介绍如何使用Java来实现这一功能,同时考虑到不同文件格式的支持。...

    统计代码行数程序(可设置文件类型,可多目录、单目录统计,行数累加)

    标题中的“统计代码行数程序”是指一个工具或软件,其主要功能是计算代码文件中的行数。这个程序特别之处在于它可以处理一个或多个文件夹内的代码,这意味着它支持批量统计,大大提高了效率。用户不仅可以对整个目录...

    Count Lines of code 统计代码行数

    Count Lines of code 统计代码行数

    代码行数计算工具 win版 计算代码行数

    本文将详细介绍一款专用于Windows平台的代码行数计算工具,帮助读者掌握其使用方法,并探讨代码行数统计在实际开发中的意义。 首先,我们要明确的是,代码行数并不直接等同于软件质量,但它可以反映出项目的工作量...

    一个统计代码行数的小工具

    标题中的“一个统计代码行数的小工具”指的是一个专门用于计算源代码文件中代码行数的应用程序。这类工具在软件开发过程中非常有用,因为它能够帮助开发者量化工作量、跟踪项目进度,以及进行代码质量分析。它能处理...

    统计代码行数的cmd小工具(附源码)

    在IT行业中,了解项目或代码库的规模是至关重要的,这通常通过统计代码行数来完成。本篇文章将详细介绍一个使用C++语言编写的命令行工具,它可以帮助开发者快速统计代码行数。这个名为"countlines"的小工具,提供了...

    代码行数统计工具

    标题提到的“代码行数统计工具”是专门用于计算源代码文件中行数的实用程序,适用于各种项目。这种工具能够帮助开发者、项目经理和质量保证人员了解项目的整体状况,进行进度跟踪、资源规划和复杂性分析。 代码行数...

    uuStrpCount 统计代码行数

    《uuStrpCount:高效统计代码行数的工具详解》 在编程开发过程中,了解代码行数对于项目管理和代码质量评估具有重要意义。uuStrpCount是一款高效且实用的代码行数统计工具,它能帮助开发者快速准确地统计各种类型的...

Global site tag (gtag.js) - Google Analytics