统计jdk17源码有多少个java文件,共多少行代码
进到jdk>lib> 解压src文件
package cn.waf.fs;
import java.io.File;
import java.io.FileInputStream;
/**
* @author waf
* @Description:统计jdk17源码有多少个java文件,共多少行代码
* @date:2022/11/9
*/
public class Ex2 {
static int count = 0;
static int rows = 0;
public static void main(String[] args) {
// 找到jdk对应文件位置
String src = "E:\\jdk-17_windows-x64_bin\\jdk-17.0.3.1\\lib\\src";
count(new File(src));
System.out.println("java文件数:"+count);
System.out.println("代码行数:"+rows);
}
public static void count(File dir){
if (dir.isDirectory()) {
//使用递归进行处理
for (File f : dir.listFiles()) {
if (f.isDirectory()) {
count(f);
}
if (f.isFile() && f.getName().endsWith(".java")) {
try (var fis = new FileInputStream(f)) {
// 统计java 17.0.3.1 有多少行代码
rows += new String(fis.readAllBytes()).lines().count();
} catch (Exception e) {
e.printStackTrace();
}
// 统计java 17.0.3.1 有多少Java文件
count++;
}
}
}
}
}
运算结果:因版本不同,结果会有少量差异
java文件数:14202
代码行数:4693255
进程已结束,退出代码0