java
import java.io.*;
import java.util.Scanner;
public class Main {
static int num=0;
public static void main(String[] args) throws InterruptedException {
Scanner input=new Scanner(System.in);
String st = input.nextLine();//获取信息
//路径 这里写一个路径进去
String path=st;//"E:\\code\\java\\笔记";
//调用方法
getFiles(path);
System.out.println("文件总行数:"+num);
Thread.sleep(1000*20000);
}
/**
* 递归获取某路径下的所有文件,文件夹,并输出
*/
public static void getFiles(String path) {
File file = new File(path);
// 如果这个路径是文件夹
if (file.isDirectory()) {
// 获取路径下的所有文件
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
// 如果还是文件夹 递归获取里面的文件 文件夹
if (files[i].isDirectory()) {
System.out.println("目录:" + files[i].getPath());
getFiles(files[i].getPath());
} else {
String path1 = files[i].getPath();//文件全路径
int i1 = readFile(path1);
num=num+i1;
System.out.println("文件:" + path1);
System.out.println("文件的行数"+i1);
}
}
} else {
System.out.println("文件:" + file.getPath());
}
}
public static int readFile(String fileName)
{
FileReader fr = null;
BufferedReader br = null;
int count = 0;
try
{
fr = new FileReader(fileName);
br = new BufferedReader(fr);
String value = br.readLine();
while (value != null)
{
if (!"".equals(value))
{
count++;
}
value = br.readLine();
}
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if (br != null)
br.close();
if (fr != null)
fr.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
return count;
}
}