返回顶部

收藏

简单的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. 博主 发表 2015-04-10 02:35:00 titanium module java基础: 记得使用annotation
  2. 博主 发表 2015-12-29 07:29:15 java 基础
  3. 博主 发表 2013-08-26 02:35:24 JAVA操作Hbase基础例子
  4. Terry Zhang 发表 2014-04-27 08:18:40 [集合框架] Java 集合框架简介
  5. Terry Zhang 发表 2014-05-02 08:58:00 [集合框架] Set 接口
  6. 蔡晓建 发表 2017-11-30 00:00:00 java攻城狮基础-总纲
  7. 博主 发表 2015-04-11 02:32:00 titanium module java基础: 从js到java的类型转换。
  8. 郑 旭东 发表 2014-01-16 16:46:51 JAVA多线程和并发基础面试问答
  9. Terry Zhang 发表 2014-04-17 15:27:06 [正则] 字符类型
  10. Terry Zhang 发表 2014-04-27 10:43:29 [集合框架] 接口
  11. xnnyygn 发表 2016-08-29 12:51:58 Java NIO基础之ByteBuffer学习
  12. 逍遥冲 发表 2013-12-05 05:53:28 [引]Java NIO —- IO复用

发表评论