返回顶部

收藏

简单的java代码统计程序

更多
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://outofmemory.cn

标签:java,基础

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. Terry Zhang 发表 2014-04-17 15:27:06 [正则] 字符类型
  2. Terry Zhang 发表 2014-04-27 10:43:29 [集合框架] 接口
  3. xnnyygn 发表 2016-08-29 12:51:58 Java NIO基础之ByteBuffer学习
  4. 逍遥冲 发表 2013-12-05 05:53:28 [引]Java NIO —- IO复用
  5. 博主 发表 2015-04-11 02:32:00 titanium module java基础: 从js到java的类型转换。
  6. 郑 旭东 发表 2014-01-16 16:46:51 JAVA多线程和并发基础面试问答
  7. 博主 发表 2016-07-06 12:39:29 掌握Java: 基础篇
  8. Terry Zhang 发表 2014-04-18 05:08:52 [NIO.2] 编写一个文件拷贝应用
  9. Terry Zhang 发表 2014-04-24 08:14:18 [正则] 边界匹配器
  10. Terry Zhang 发表 2014-05-03 06:33:32 [集合框架] List 接口
  11. Terry Zhang 发表 2014-05-13 06:05:01 [集合框架] SortedSet 接口
  12. 逍遥冲 发表 2013-12-30 14:13:10 [引]编译器自举和移植

发表评论