`
JaHunter
  • 浏览: 91987 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

统计代码行数

    博客分类:
  • java
 
阅读更多
public class ReadFile {
 
      /**
      * @param args
      * @throws IOException
      */
      public static void main(String[] args) throws IOException {
           Long globalNum = 0L; // 总行数
           List<Long> lineNums = new ArrayList<Long>();
           List<String> exceptFileNames = new ArrayList<String>();
           exceptFileNames.add( "project2" );//不统计目录
           exceptFileNames.add( "test");//不统计目录
          String path = "D:\\source\\project" ;//项目目录
           File file = new File(path);
            traversalFile(file, lineNums, exceptFileNames);
            for (Long num : lineNums) {
                globalNum = globalNum + num;
           }
           System. out.println(globalNum); // 310375
     }
 
      /**
      * 得到目录的叶子java文件,并统计文件里有多少行,将行数放到list中
      *
      * @param file
      * @throws IOException
      */
      public static void traversalFile(File file, List<Long> lineNums,
                List<String> exceptFileNames) throws IOException {
           File[] childList = file.listFiles();
           String fileName = null;
           String extra = null;
            for (File child : childList) {
                fileName = child.getName();
                 if (child.isDirectory()) {
                      if (exceptFileNames != null
                                && !exceptFileNames.contains(child.getName())) {
                            traversalFile(child, lineNums, exceptFileNames);
                     }
                } else {
                     extra = fileName.contains( ".") ? fileName.substring(fileName
                                .lastIndexOf( ".")) : fileName;
                      if (extra.equals( ".java") || extra.equals(".jsp" )
                                || extra.equals( ".js")) {
                          System. out.println(child.getName().substring(
                                     child.getName().lastIndexOf( ".")));
                           lineNums.add( getLineNum(child));
                     }
                }
           }
     }
 
      /**
      * 得到某个文件有多少行(非目录)
      *
      * @param file
      * @return
      * @throws IOException
      */
      public static long getLineNum(File file) throws IOException {
            long num = 0L;
           FileInputStream f = new FileInputStream(file);
           BufferedReader dr = new BufferedReader( new InputStreamReader(f));
           String line = dr.readLine();
            while (line != null) {
                 if (!line.trim().equals( "")) {
                     num++;
                }
                line = dr.readLine();
           }
            return num;
     }
 
}
分享到:
评论

相关推荐

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

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

    统计代码行数的Eclipse插件

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

    Visual Studio 统计代码行数

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

    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