zoukankan      html  css  js  c++  java
  • CodeCounter

    package cn.zzsxt.io2;

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;

    /**
    *统计某个文件夹下(包含子文件和文件)的所有代码的行数
    * 实现思路:
    * 1.获取该文件夹和子文件下的所有文件(递归)
    * 2.使用BufferedReader中的readLine()读取行数据
    * 技能点:
    * File类的常用方法: listFiles(),isDirectory(),exist()
    * 递归调用
    * FileReader
    * BufferedReader: readLine()
    */
    public class CodeCounter {
    static long count=0;
    /**
    * 统计指定文件下的代码行数
    * @param file
    * @throws IOException
    */
    public static void calcCode(File file) throws IOException{
    //判断文件目录是否存在
    if(file.exists()){
    //获取该目录下所有的子文件或子目录
    File[] fs = file.listFiles();
    for (File f : fs) {
    //判断是否为目录
    if(f.isDirectory()){
    calcCode(f);//递归调用
    }else{
    String fileName = f.getName();
    //判断文件是否为java源文件(java源文件的后缀名为.java)
    if(fileName.endsWith(".java")){
    FileReader fr = new FileReader(f);
    BufferedReader br = new BufferedReader(fr);
    while(br.readLine()!=null){
    count++;
    }
    br.close();
    fr.close();
    }
    }
    }
    }else{
    System.out.println("你要统计的目录不存在!");
    }
    }

    public static void main(String[] args) {
    // File file = new File("D:/javacode");
    File file = new File("F:/workspaces");
    try {
    CodeCounter.calcCode(file);
    } catch (IOException e) {
    e.printStackTrace();
    }
    System.out.println("代码总行数:"+CodeCounter.count);
    }
    }

  • 相关阅读:
    xss框架(一)之浏览器通信
    Joomla未授权创建特权用户漏洞和getshell脚本解析
    从零开始写网站登录爆破(一)
    CSRF学习整理
    vue中vue2-google-maps使用谷歌地图的基础操作
    vue中百度地图API的调用
    60秒定时减少
    git操作指令,以及常规git代码操作
    taro taroUi的H5打包后路径/修改为./
    vue enter事件无效,加入native
  • 原文地址:https://www.cnblogs.com/wangkemeng/p/6745537.html
Copyright © 2011-2022 走看看