统计项目代码行数程序

来源:互联网 发布:股市软件哪个好 编辑:程序博客网 时间:2024/05/18 01:40

近阶段写了好多乱七八糟的程序和大大小小的项目。突然想知道自己到底写了多少行代码,又出于回顾下corejava知识的缘故,于是有了下面这个小程序。

程序其实很简单,只是bufferedreader的应用,只是递归的运用还是需要一些技巧的,读者只需新建一个java文件然后把下面的代码拷进去运行即可~

(需要注意文件路径,因为我是在unix平台写的,所以默认主文件夹是home/soft/,读者需要在程序中修改一下)

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

/**
 * 统计项目源文件(.java文件)代码行数
 * @author wjs
 *
 */
public class CountCodeLine
{
private static int countLine;


public static void countCodeLine(File file)
{
/* 是文件 */
if (file.isFile())
{
//判断是不是.java文件
if (file.getName().endsWith(".java"))
{
try
{
FileReader fr = new FileReader(file);
BufferedReader bis = new BufferedReader(fr);
//有一行,静态变量值加1
while (bis.readLine() != null)
{
countLine++;
}


} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
/* 是文件夹 */
else if (file.isDirectory())
{
/* 对文件夹递归 */
File[] f2 = file.listFiles();
for (int i = 0; i < f2.length; i++)
{
countCodeLine(f2[i]);
}
} else
{
System.out.println("搜索完毕!");
}
}


public static void main(String[] args)
{
System.out
.println("=======欢迎使用程序总代码行数统计工具~请输入要统计的文件夹名(默认/home/soft02/下的)======");
Scanner scanner = new Scanner(System.in);
String string = scanner.nextLine();


File f3 = new File("/home/soft02/" + string);

countCodeLine(f3);


System.out.println("该项目共有代码:"+countLine+"行!");
}
}



原创粉丝点击