import java.io.*;
public class FileTest3 {
//初始化统计变量
private static int sumTxt = 0;
//记录文件总行数
private static int count = 0;
public static void main(String[] args) throws IOException {
//给定路径
File f = new File("D:\\filetest");
SumFile(f);
System.out.println("文件的行数是:"+count+"|"+"TXT文件个数为:"+sumTxt);
}
/**
* 统计文件个数
* @param file
*/
public static void SumFile(File file) throws IOException {
if (file.isDirectory()){
File[] fs = file.listFiles();
for (File f:fs
) {
//递归获取所有文件夹下的所有文件
SumFile(f);
}
}else if (file.getName().endsWith(".txt")){
//传入指定路径下所有文件对应的路径,调用统计每个文件中内容行数的方法
SumFileWithLine(file.getAbsolutePath());
sumTxt++;
}
}
/**
* 统计每个文件中的内容行数
*/
public static void SumFileWithLine(String filePath) throws IOException {
//创建缓冲流对象读取文内容
BufferedReader bf = new BufferedReader(new FileReader(filePath));
String s = null;
while ((s=bf.readLine())!=null){
count++;
}
}
}