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);
}
}

时间: 2024-10-08 19:35:14

CodeCounter的相关文章

java中正则的使用

一:什么是正则表达式 1.定义:正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配. 2.用途: 字符串匹配(字符匹配) 字符串查找 字符串替换 字符串分割 例如: 从网页中揪出email地址 IP地址是否正确 从网页中揪出链接 3.java中处理正则表达式的类: java.lang.String j

代码量统计工具类

一:先看运行结果 二:工具类源码 package codeCounter; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class Service { public static int[] statistics(File file){ i

二十三章——相应路径下的代码统计

这里运用了流等知识写了一个小工具,可以统计某个路径下的代码的行数: package com.maya.hanqi.coder; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class CodeCounter { private static

Java学习系列(二十四)Java正则表达式详解

转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/45501777 前言 正则表达式可以说是用来处理字符串的一把利器,它是一个专门匹配n个字符串的字符串模板,本质是查找和替换.在实例演示之前先了解一下Pattern.Matcher这两个工具类,Pattern:编译好的带匹配的模板(如:Pattern.compile("[a-z]{2}");/ / 取2个小写字母):Matcher:匹配目标字符串后产生的结果(如:pattern.m

Java 代码行统计(转)

package codecounter; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.regex.Matcher; import java.util.regex.Pattern; public class CodeCou

统计工程内的代码行数

using UnityEngine; using System.Collections; using UnityEditor; using System.Collections.Generic; using System.IO; /// <summary> /// 统计工程内的代码行数 /// </summary> public class CodeCounter { [MenuItem("Tools/统计工程内的代码行数")] public static vo

使用正则表达式进行单词统计

1 import java.io.BufferedReader; 2 import java.io.File; 3 import java.io.FileNotFoundException; 4 import java.io.FileReader; 5 import java.io.IOException; 6 7 public class CodeCounter { 8 9 static long normalLines = 0; 10 static long commentLines = 0

代码行数统计

/** * Copyright ? 2015 All rights reserved. */ package cn.yufu.system.tools; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList;