代码实现:
1:先找到自己的jdk17,如果没有这个版本,可以去官网下载www.oracle.com
2:找到jdk17文件中lib文件夹中src.zip解压
3:解压后会得到一个文件 src
4:将文件的路径写入java代码中
File f2 = new File("D:/jdk-17/lib/src");
5:主要代码:
package com.zswyj.ch09;
import java.io.File;
import java.io.FileInputStream;
public class Ex07 {
static long allrows = 0;
static int count = 0;
public static void main(String[] args) {
//统计java文件
File f2 = new File("D:/jdk-17/lib/src");
count(f2);
System.out.printf("有%d个java文件,共有%d行代码。 %n",count,allrows);
}
public static void count(File dir){
if(dir.isDirectory()){
File[]fs = dir.listFiles();
for(File f:fs){
if(f.isDirectory()){
count(f);
}else if(f.isFile() && f.getName().endsWith(".java")){
++count;
try(var fis = new FileInputStream(f)){
String src= new String(fis.readAllBytes());
long rows = src.lines().count();
allrows+=rows;
System.out.printf("%s(%d行)%n",f.getAbsolutePath(),rows);
}catch(Exception e){
e.printStackTrace();
}
}
}
}
}
}