java代码行数_Java统计代码行数
统计代码行数
给一个文件目录,遍历该目录下的所有文件,如果是.java文件,利用字符流读取该java源文件,统计全部java文件的代码共有多少行,java文件个数有多少提示:先获取所有文件,如果文件名以java结尾则表示是Java文件。然后再计算所有Java文件的行数总合,以及Java文件的个数。
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
/**
* @ClassName: Work
* @Description: 1.统计代码行数
给一个文件目录,遍历该目录下的所有文件,如果是.java文件,利用字符流读取该java源文件,统计全部java文件的代码共有多少行,java文件个数有多少
提示:先获取所有文件,如果文件名以java结尾则表示是Java文件。然后再计算所有Java文件的行数总
合,以及Java文件的个数。
* @author LYL
* @date 2021-01-13 11:32:40
*/
public class Work {
public static void main(String[] args) {
//需要扫描统计的路径
File file = new File("C:\\Test");
String str = null;
try {
//调用scan方法并拿到返回的字符串
str = scan(file,0,0);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("扫描完毕");
String[] str2 = str.split(",");
//将返回出的字符串解析为数字
int lineNum = Integer.parseInt(str2[0]);
int fileNum = Integer.parseInt(str2[1]);
System.out.println("行数为:"+lineNum+",文件数为:"+fileNum);
}
public static String scan(File f,int LineNumber, int FileNumber) throws IOException {
int lineNum = LineNumber;
int fileNum = FileNumber;
// 将传入的File对象变成File数组
File[] lf = f.listFiles();
// 如果为空则结束这次方法。避免空指针异常
if (lf == null) {
return null;
}
// 循环遍历lf中的每个File对象
for (File f1 : lf) {
// 如果当前遍历到的这个File对象是文件夹
if (f1.isDirectory()) {
// 得到当前文件夹的路径
String path = f1.getAbsolutePath();
// 重新调用当前方法,并传入刚刚遍历到的文件夹对象,行数和文件数,并用一个String接收返回的字符串
String test = scan(new File(path),lineNum,fileNum);
String[] str2 = test.split(",");
//将拿到的返回出的字符串解析为行数和文件数
lineNum = Integer.parseInt(str2[0]);
fileNum = Integer.parseInt(str2[1]);
// 如果当前File对象是一个文件
} else {
//判断是不是java文件
if(f1.getName().endsWith(".java")) {
fileNum++;
}
// 输出当前文件的名称
//System.out.println(f1.getName());
//创建当前文件的对象
File file = new File(f1.getAbsolutePath());
FileReader fr = null;
//创建字符流
fr = new FileReader(file);
int i = 0;
while((i = fr.read())!=-1) {
Character c = (char)i;
//将读出的字符转换为字符串
String temp = c.toString();
//判断字符串中有没有换行
if(temp.contains("\n")) {
lineNum++;
}
}
//关闭字符流
fr.close();
}
}
System.out.println("lineNum = "+lineNum+", fileNum = "+fileNum);
//将行数和文件数返回
return lineNum+","+fileNum;
}
}
java代码行数_Java统计代码行数相关推荐
- phpstrom查看代码总行数_PHP统计代码行数的小代码
本文实例为大家分享了PHP统计代码行数的具体代码,供大家参考,具体内容如下 想统计一下项目中一共有多少行代码,结果没找到什么好的工具,就自己写了一个. 效率不怎么样. /** * Created by ...
- java 同步块原理_Java同步代码块和同步方法原理与应用案例详解
Java同步代码块和同步方法原理与应用案例详解 发布于 2020-8-7| 复制链接 摘记: 本文实例讲述了Java同步代码块和同步方法.分享给大家供大家参考,具体如下:一 点睛所谓原子性:一段代码要 ...
- java类静态初始化_Java静态代码块和类初始化、实例初始化过程
1. 静态代码块 静态代码块:定义在类中方法外,使用static修饰 ①可以为类变量(静态变量)初始化 ②静态代码块在第一次使用这个类之前执行,即在类初始化时执行,且只执行一次 ③若有多个静态代码块, ...
- java统计在线人数_java统计当前在线数 (转)
java统计当前在线数 (转)[@more@] package com.hnedu.stat; /** * 计算在线人数,说明: * * 在访问页面放入: * com.hnedu.stat.Onlin ...
- 网站底部运行时间的php代码,网站底部运行时间统计代码
也许您和我一样,想在自己站点底部或者任意位置添加一个运行时间统计的代码,对我来说这是一个特殊的日子,值得留恋,值得铭记. 在这里我也收集并测试了部分,能有效的显示本站已运行N天,接下来上干货吧. js ...
- 安装51统计代码到html,51La 统计代码放到哪里??
近期很多站长都在咨询如何在自己的站点添加统计代码,下面为大家详细介绍具体的步骤: 一.如何获取统计代码 提供免费统计的网站有很多,比如:51la.雅虎.cnzz....等等,下面就以 51la 做例子 ...
- 百度统计代码怎么开通,百度统计代码如何获取?怎么在网站上添加百度统计代码?
怎么开通百度统计代码呢?百度统计可以很好的帮助站长分析网站流量动态.百度统计代码获取有两种不同方式.一种是第一次开通百度统计代码,另一种是在额外添加网站百度统计代码.下面我就来说下百度统计代码怎么开通 ...
- 个人所得税java程序怎么编写_java个人所得税代码.doc
java个人所得税代码 import java.awt.event.*;import java.io.*;import javax.swing.*;import javax.swing.table.D ...
- java 多行字符串_java字符串多行写法
有一个很长的字符串,想分成多行书写,主要为了美观. VB代码中可以将一个很长的字符串分成多行书写,例如: String str="adfasdfasdfas \ asdfasdfasdfas ...
- java俄罗斯方块消除算法_Java 俄罗斯方块消行算法
Java 俄罗斯方块消行算法 2020-08-12 11:02 阅读数 9 /** * 消行得分 */ private int plusExp() { //获取地图信息 boolean[][] gam ...
最新文章
- 今天看到的如何做个坏男人的招数
- 12/12 day06
- python重复执行_python flask schedule重复运行 任务被重复执行问题 解决方案
- iOS 9音频应用播放音频之iOS 9音频播放进度
- apache配置,保你配置成功
- 由SecureCRT引发的思考和学习
- 不是每一个缺钱的人都能贷款!
- java学习(19):巩固练习
- python根据行名称生成二维数组
- 查经 民数记3章 利未人
- int 转 const char*
- http协议 文件下载原理详解
- matlab英文词汇,matlab中常见英文词含义
- HTML 前后端分离,再谈前后端分离开发和部署
- 儿童吹泡泡水简单配方_吹泡泡溶液配方大集合吹泡泡溶液最佳配方
- 物联网(工程师)+嵌入式学习路线图各个阶段
- 如何用excel快速实现“平均值±标准差”
- 60分钟教你上手PyTorch + 迁移学习
- zip分卷压缩的步骤_Python3实现zip分卷压缩过程解析
- YOLOv3训练自己的数据详细步骤