统计项目中Java文件数和Java代码行数
其实就是使用递归遍历目录下所有文件
import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class JavaCodeLines {private static final String PROJECT_DIR = "C:\\workspace\\YourProj";private static int fileNum = 0;private static int lineNum = 0;private static void listNext(File dir) {File[] files = dir.listFiles();for (int i = 0; i < files.length; i++) {if (files[i].isDirectory()) {listNext(files[i]);} else {// System.out.println(fs[i].getAbsolutePath());try {if (files[i].getName().endsWith(".java")) {fileNum++;BufferedReader br = new BufferedReader(new FileReader(files[i]));while (br.readLine() != null) {lineNum++;}}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}}public static void main(String[] args) throws Exception {File root = new File(PROJECT_DIR);listNext(root);System.out.println("Java files number: " + fileNum);System.out.println("Java code lines: " + lineNum);}}