- package cn.itcast.gz;
- import java.io.BufferedReader;
- import java.io.File;
- import java.io.FileReader;
- import java.io.IOException;
- public class Crawler1 {
- public static void main(String[] args) {
- System.out.println(countDirFileLine(new File("E:\\\\OA\\\\src\\\\cn\\\\oa")));
- }
- /**
- * 递归统计一个文件夹包括子文件夹内的java文件的行数有多少
- * @param dir
- * @return
- */
- public static int countDirFileLine(File dir)
- {
- int count = 0;
- File[] files = dir.listFiles();
- for (File file : files) {
- //如果是一个文件,并且文件的后缀名是.java
- if(file.isFile()&&file.getName().endsWith(".java"))
- {
- count+=countFileLine(file);
- }
- //如果是一个目录,递归调用
- else if(file.isDirectory())
- {
- count+= countDirFileLine(file);
- }
- }
- return count;
- }
- /**
- * 统计某一个java文件有多少行
- * @param file
- * @return
- */
- public static int countFileLine(File file)
- {
- int count = 0;
- BufferedReader bufferedReader = null;
- try {
- bufferedReader = new BufferedReader(new FileReader(file));
- while(bufferedReader.readLine()!=null)
- {
- count++;
- }
- } catch (Exception e) {
- e.printStackTrace();
- }finally
- {
- if(bufferedReader!=null)
- {
- try {
- bufferedReader.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- return count;
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/161220138052.html
来源: http://www.codesnippet.cn/detail/161220138052.html