下面是我写的一个非常简单的代码统计器,并没有考虑太多的情况。
package cn.lifx.util;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Count
{
public static void main(String[] args)
{
String path = "D:\\workspace\\test";
Count count = new Count();
System.out.println("Total line num is: " + count.countAllNum(path));
}
public int countAllNum(String path)
{
int num = 0;
int temp = 0;
ArrayList<String> list = getFiles(path);
for(int i=0; i<list.size(); i++)
{
temp = countNum(list.get(i));
num = num + temp;
}
return num;
}
public int countNum(String path)
{
int num = 0;
BufferedReader br = null;
try
{
br = new BufferedReader(new InputStreamReader(new FileInputStream(path)));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
if(br != null)
{
String line = "";
try
{
while(br.ready())
{
line = br.readLine();
if(!line.equals(""))
{
num++;
}
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return num;
}
public ArrayList<String> getFiles(String path)
{
ArrayList<String> list = new ArrayList<String>();
ArrayList<String> temp = new ArrayList<String>();
File f = new File(path);
if(!f.exists())
{
System.out.println("The filepath " + path + " does not exist!");
}
else
{
if(f.isDirectory())
{
File[] files = f.listFiles();
for(int i = 0; i < files.length; i++)
{
temp = getFiles(files[i].getAbsolutePath());
for(String str : temp)
list.add(str);
}
}
else
{
if(path.endsWith(".java"))
{
String filepath = path.replace('\\','/');
list.add(filepath);
}
}
}
return list;
}
}
分享到:
相关推荐
QT代码统计器是一款基于QT库开发的工具,用于分析和统计源代码的各个指标,如行数、注释量、空格与制表符等。QT(Qt)是跨平台的应用程序开发框架,广泛应用于桌面、移动和嵌入式设备。这款统计器能够帮助开发者更好...
本项目名为"C++ 代码统计器",是基于C++面向对象编程思想设计的一个程序,用于统计CPP源文件中的代码行、注释行、空行以及函数数量。下面我们将详细探讨这个项目的相关知识点。 首先,我们要理解C++面向对象编程的...
总的来说,源代码统计器是一个强大且实用的工具,它不仅能够提供精确的代码统计信息,还能帮助开发者和团队更好地管理和优化他们的项目。无论是个人开发还是团队协作,它都是一个不可或缺的辅助工具。如果你尚未尝试...
源代码行数统计器是一种工具,它用于自动化计算编程项目中的源代码行数。这个工具对程序员来说非常有用,因为它可以快速提供项目规模的量化指标,帮助他们了解项目的复杂度和工作量。在软件开发中,代码行数常被用作...
在这个代码统计器中,可能就包含了一个对话框用于输入或选择待统计的代码文件。 5. **事件驱动编程**:MFC基于事件驱动编程模型,即程序响应用户的输入和系统事件来执行相应的操作。这对于实现代码统计器的交互逻辑...
总的来说,VB代码统计器是软件开发过程中的一个重要辅助工具,它能提供关于代码质量和工作量的量化信息,从而帮助开发团队更好地管理项目,提升代码质量,降低维护成本。通过持续地使用这样的工具,可以促进代码的...
源码统计器是一种工具,主要用于计算编程项目中的源代码行数。这个工具对于开发者、项目经理以及软件质量保证人员来说非常有用,因为它可以帮助他们了解项目的规模,监控代码的增长,以及评估开发进度。源码统计器...
"asp代码行数统计器"是一个工具,专门用来计算ASP源代码文件中的代码行数,这对于代码维护、性能分析以及项目管理都有一定的帮助。 代码行数统计是软件工程中一个常见的指标,虽然它并不能完全反映代码的质量和复杂...
使用CountLines.exe这样的代码统计器通常非常简单。用户只需指定要分析的目录或文件,程序会自动遍历并计算所有符合预设或自定义类型的文件。输出结果可能会包括总行数、注释行数、空行数等,有的甚至会按文件或文件...
"SourceStat源代码统计器"是一款专为程序员和软件开发团队设计的实用工具,它能够高效、快速地统计项目中的源代码数量。该工具的核心特点是其简洁易用和强大的处理能力,无论面对多大规模的工程项目或是多层次的目录...
在IT行业中,代码统计是一项重要的任务,特别是在软件开发和维护过程中。它可以帮助开发者理解项目的规模,评估工作量,以及进行代码质量分析。本篇将详细探讨如何使用代码统计工具来处理Java项目,以及相关的技术...
总的来说,C++代码统计器升级版是一个强大的工具,无论是在专业开发环境中还是个人学习过程中,都能发挥重要作用。它的改进和新增功能提高了代码分析的效率和准确性,而提供的源代码和项目配置则为学习和定制提供了...
本项目是一个用Python编写的代码统计器,能够帮助用户快速、准确地统计代码量。下面将详细介绍这个项目的实现原理、功能以及可能涉及的关键知识点。 1. **Python基础** Python是一种高级编程语言,以其简洁明了的...
《C语言代码统计器》是一款专为C及C++编程者设计的实用工具,旨在高效地统计代码文件的各类行数信息,包括总行数、有效代码行数、注释行数和空白行数,并计算出代码的注释率。这款统计器的独特之处在于其批量处理...
写了一个很简单的,目前支持统计.h和.cpp(如果想添加.hpp, .m文件,看看我的代码,加上很简单的。) 在Bin文件夹下有一个Config.INI的文件夹,修改一下自己要统计的路径就好了。 如果要编译工程的话,最好设置工作...
标题中的“VBScript写的代码统计器”指的是一个使用VBScript编程语言编写的工具,它的主要功能是统计代码行数,尤其是针对Java代码。VBScript,全称Visual Basic Script,是微软公司开发的一种轻量级、解释型的脚本...
"源代码行数统计器1.5"是一个实用的小工具,专为程序员设计,用于量化他们的编程工作量。这个工具能够统计多种类型的源代码文件,包括C语言(*.c)、C++(*.cpp)、头文件(*.h)以及Progress 4GL(*.pbl)的代码...
写的一个代码统计器,尝试了两种方法,一种多线程并行处理,一种直接迭代,经过对比,发现迭代效率要高得多,经过分析,使用多线程时因为其实每个线程运行的时间不长,因而新建线程带来的系统开销导致多线程情况下...
【通用型代码统计器】是一款高效实用的工具,专为开发者设计,旨在提供全面的代码统计功能,无论是在何种编程环境中,它都能胜任工作。这款工具的灵活性和兼容性是其核心优势,使得开发者能够在不同的项目和编码语言...
源代码行数统计器 1.5 本软件用于统计软件工程源代码行数,可对指定的子目录下或整个目录树中所有指定类型的源代码文件进行行数统计。 本软件的统计结果包含源代码中的注释行和空行,因为作者认为它们同样也是源...