import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
/**
* Created by qiaojun on 2020/6/3.
*/
public class CodeCount {
private int lineCount;
private int fileCount;
private int getLineCount()
{
return lineCount;
}
private int getFileCount()
{
return fileCount;
}
public static void main(String[] args) throws IOException
{
CodeCount codeCount = new CodeCount();
//项目路径,或者文件夹路径
String path = "F:\\project_view";
//协议扫描的文件类型 例如:.xml .js等
String fileType=".java";
codeCount.getFileLineNum(new File(path),fileType);
System.out.println("该路径下一共有"+codeCount.getFileCount()+"个"+fileType+"源文件,"+codeCount.getLineCount()+"行代码");
}
private void getFileLineNum(File path, String fileType) throws IOException{
if(path.isFile() && path.getName().endsWith(fileType)){
BufferedReader br = new BufferedReader(new FileReader(path));
fileCount++;
while(br.readLine()!=null){
lineCount++;
}
System.out.println(path.getName());
br.close();
}else if(path.isDirectory()){
File[] listFiles = path.listFiles();
assert listFiles != null;
for (File file : listFiles)
{
getFileLineNum(file,fileType);
}
}
}
}