这道题考的是递归和BufferedReader方法的结合。
package com.sxt.homework;
import java.io.*;
import java.util.ArrayList;
public class LineNumbers {
static int sun=0;
ArrayList<File> ar=new ArrayList<File>();
public static void reader(File f) throws IOException{
if(f.exists()) {
if(f.isDirectory()) {
File[] li = f.listFiles();
if(li!=null&&li.length>0) {
for(File ss:li) {
reader(ss);
}
}
}else {
if(f.getName().endsWith(".java")) {
numbers(f);
}
}
}
}
public static void numbers(File f) throws IOException {
FileReader fir = new FileReader(f);
BufferedReader bfr=new BufferedReader(fir);
while(bfr.readLine()!=null) {
sun++;
}
}
public static void main(String[] args) throws IOException {
File f=new File("D:\\Eclipseworkspace");
LineNumbers.reader(f);
System.out.println(LineNumbers.sun);
}
}