import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/**
*
* @author Mr Luo
* email 972459637@qq.com
*/
public class CodeCounter {
static long normalLines = 0;
static long commentLines = 0;
static long whiteLines = 0;
public static void main(String[] args) {
File f = new File("D:\\New folder");
File[] codeFiles = f.listFiles();
for (File child : codeFiles){
if(child.getName().matches(".*\\.java{1}quot;)){
parse(child);
}
}
System.out.println("normalLines: " + normalLines);
System.out.println("commentLines: " + commentLines);
System.out.println("whiteLines: " + whiteLines);
}
private static void parse(File child) {
BufferedReader bf = null;
boolean comment = false;
try {
bf = new BufferedReader(new FileReader(child));
String line = "";
while((line = bf.readLine()) != null) {
line = line.trim();
if(line.matches("^[\\s&&[^\\n]]*{1}quot;)){
whiteLines ++;
} else if(line.startsWith("/*") && !line.endsWith("*/")){
commentLines ++;
comment = true;
} else if (true == comment){
commentLines ++;
if(line.endsWith("*/")){
comment = false;
}
} else if(line.startsWith("//")){
commentLines ++;
} else if(line.startsWith("/*") && (line.endsWith("*/"))){
commentLines ++;
}
else{
normalLines ++;
}
}
} catch (FileNotFoundException e){
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if(bf != null) {
try {
bf.close();
bf = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
分享到:
相关推荐
java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解
Java正则表达式Java正则表达式Java正则表达式Java正则表达式
java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解
本文写作时,一个包含了用正则表达式进行文本处理的Java规范需求(Specification Request)已经得到认可,你可以期待在JDK的下一版本中看到它。 然而,如果现在就需要使用正则表达式,又该怎么办呢?你可以从Apache...
java正则表达式java正则表达式java正则表达式java正则表达式java正则表达式java正则表达式
最新手机号码、电话号码正则表达式
JAVA正则表达式JAVA正则表达式JAVA正则表达式
java,正则表达式,详解,java正则表达式,PDF
正则表达式之道.doc 正则表达式中的特殊字符.doc Java正则表达式详解.doc 正则表达式.ppt JAVA正则表达式--Pattern和Matcher.doc 例子
其中包括windows和linux文件路径的正则表达式;去除空格和斜杠转换的replaceall方法
根据官方推荐的正则表达式编辑器redemo.py源文件编译而成的windows系统下的免控制台工具。本软件可以对正则表达式进行编辑验证。
最完善的身份证号码合法性校验Java算法,适合Android平台,可以直接拿来在项目中使用,正则表达式。
正则表达式在Ext中,要加/^ $/,比如/^[0-9]{1,9}$/ 正则表达式在JAVA中应用 正则表达式在JAVA中应用 正则表达式在JAVA中应用 正则表达式在JAVA中应用
正则表达式的合集,包括电话号码,邮箱验证,手机号码验证等等...开发时候拿来用非常方便!
Java正则表达式 Java 正则表达式 图片版 携带方便,查阅方便!~
java使用正则表达式进行校验验证,主要使用了Pattern和Matcher类,直接main方法运行就可以,亲测有效
java 字符串 详细实例代码 字符串检索 可改变字符串 字符串生成器 日期和时间字符串格式化
正则表达式判断密码强度是否符合标准,此处具有大小写,特殊字符,数字判断。对密码周期也进行判断。
Java正则表达式的使用,判断html、电话等是否符合规定、、、
正则表达式,正则表达式,正则表达式 正则表达式 正则表达式 正则表达式 正则表达式 正则表达式 正则表达式