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 中,统计代码行数可以通过使用正则表达式和...
"统计代码行数的Eclipse插件"就是这样一个工具,它能够帮助开发者快速地分析和度量他们的代码库,包括注释和实际可执行代码的数量。 这个插件设计精良,经过全面测试,确保了统计结果的准确性。无论是整个工程目录...
"Visual Studio 统计代码行数"这个主题就是一个非常实用的功能,它能帮助我们量化项目的代码量,进而评估项目进度、复杂性和维护性。以下是对这个功能的详细解释: Visual Studio是一款由微软公司开发的强大集成...
在C#编程中,统计代码行数是一项常见的需求,特别是在软件开发过程中进行代码质量管理或评估项目规模时。本文将详细讲解如何使用Visual Studio 2013(VS2013)来统计代码行数,并扩展到处理不同文件类型以及包含多个...
在软件开发过程中,统计代码行数是一项常见的任务,它可以帮助我们了解项目的规模、评估开发进度以及比较不同项目或模块的工作量。"非常实用的统计代码行数"工具就是专为此目的设计的。以下是对这个主题的详细说明:...
"idea统计代码行数插件"正是这样一款能够帮助开发者高效统计代码行数的利器。 该插件名为"统计代码行数的idea插件",其主要功能在于对项目中的不同类型的文件进行分类统计,包括Java源代码行数、XML配置文件行数...
统计代码行数虽然不是衡量软件质量的唯一标准,但它确实为项目管理和决策提供了一个量化的参考。比如,通过对比不同阶段的代码行数,可以评估开发进度;在团队协作中,可以依据每个人的代码贡献来分配任务或评价工作...
在Java编程语言中,统计代码行数是一项常见的需求,它可以帮助开发者评估项目规模,跟踪代码增长,以及在软件维护和优化时提供参考。本篇文章将详细介绍如何使用Java来实现这一功能,同时考虑到不同文件格式的支持。...
标题中的“统计代码行数程序”是指一个工具或软件,其主要功能是计算代码文件中的行数。这个程序特别之处在于它可以处理一个或多个文件夹内的代码,这意味着它支持批量统计,大大提高了效率。用户不仅可以对整个目录...
Count Lines of code 统计代码行数
本文将详细介绍一款专用于Windows平台的代码行数计算工具,帮助读者掌握其使用方法,并探讨代码行数统计在实际开发中的意义。 首先,我们要明确的是,代码行数并不直接等同于软件质量,但它可以反映出项目的工作量...
标题中的“一个统计代码行数的小工具”指的是一个专门用于计算源代码文件中代码行数的应用程序。这类工具在软件开发过程中非常有用,因为它能够帮助开发者量化工作量、跟踪项目进度,以及进行代码质量分析。它能处理...
标题提到的“代码行数统计工具”是专门用于计算源代码文件中行数的实用程序,适用于各种项目。这种工具能够帮助开发者、项目经理和质量保证人员了解项目的整体状况,进行进度跟踪、资源规划和复杂性分析。 代码行数...
在IT行业中,了解项目或代码库的规模是至关重要的,这通常通过统计代码行数来完成。本篇文章将详细介绍一个使用C++语言编写的命令行工具,它可以帮助开发者快速统计代码行数。这个名为"countlines"的小工具,提供了...
《uuStrpCount:高效统计代码行数的工具详解》 在编程开发过程中,了解代码行数对于项目管理和代码质量评估具有重要意义。uuStrpCount是一款高效且实用的代码行数统计工具,它能帮助开发者快速准确地统计各种类型的...