以前面试,被问到过做过项目代码量多少,一时回答不上,就想着自己写个了。代码其实很简单,分两部分:
1.一部分是很多例子都有的,列出文件夹下所有文件。
2.计算一个文件的代码行数。
代码如下:
把文件夹传递给path就行。当然,这里不特别考虑错误处理方面全部问题。
1.一部分是很多例子都有的,列出文件夹下所有文件。
2.计算一个文件的代码行数。
代码如下:
package com.blackwing.test;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
//计算项目代码数
public class CountProjectCodeLines {
public static int count;
public static void listAllFiles(File f)
{
if(f.isDirectory())
{
File [] files=f.listFiles();
if(null!=files)
{
for(File fs:files)
{
listAllFiles(fs);
}
}
}
else{//遇到单个文件,则开始计算行数
System.out.println(f);
try {
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(f)));
try {
while(null!=br.readLine())
count++;
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
String path="F:"+File.separator+"chinafang"+File.separator+"src"+File.separator+"com"+File.separator+"china1819";
File project=new File(path);
CountProjectCodeLines.listAllFiles(project);
System.out.println("项目总代码行数:"+count);
}
}
把文件夹传递给path就行。当然,这里不特别考虑错误处理方面全部问题。