CodeCounter

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

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:\\share\\JavaProjects\\TankWar1.9.11\\src"); 
File[] codeFiles = f.listFiles(); 
for(File child : codeFiles){ 
if(child.getName().matches(".*\\.java$")) { 
parse(child); 

System.out.println("normalLines:" + normalLines); 
System.out.println("commentLines:" + commentLines); 
System.out.println("whiteLines:" + whiteLines); 

private static void parse(File f) { 
BufferedReader br = null; 
boolean comment = false; 
try { 
br = new BufferedReader(new FileReader(f)); 
String line = ""; 
while((line = br.readLine()) != null) { 
line = line.trim(); 
if(line.matches("^[\\s&&[^\\n]]*$")) { 
whiteLines ++; 
} else if (line.startsWith("/*") && !line.endsWith("*/")) { 
commentLines ++; 
comment = true;
} else if (line.startsWith("/*") && line.endsWith("*/")) { 
commentLines ++; 
} else if (true == comment) { 
commentLines ++; 
if(line.endsWith("*/")) { 
comment = false; 

} else if (line.startsWith("//")) { 
commentLines ++; 
} else { 
normalLines ++; 


} catch (FileNotFoundException e) { 
e.printStackTrace(); 
} catch (IOException e) { 
e.printStackTrace(); 
} finally { 
if(br != null) { 
try { 
br.close(); 
br = null; 
} catch (IOException e) { 
e.printStackTrace(); 



时间: 2024-12-13 02:05:25

CodeCounter的相关文章

[小工具]代码统计小工具编写

代码小工具是有一定工作经验并且有更高追求的程序的必备技能,今天加班到早晨五六点,到家都七点了,回到家倒头就睡,下午来公司感觉头还有点晕乎,工作的话怕只会产生更多的代码,就想起来写个工程代码统计工具. 效果图 上图是平时积累的小工具,积累我认识也是程序员必备的素养! 主要代码 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; namespace

Java正则表达式使用_正则表达式

一:抓取网页中的Email地址 利用正则表达式匹配网页中的文本 复制代码 代码如下: [\\w[.-]]+@[\\w[.-]]+\\.[\\w]+ 将网页内容分割提取 import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.regex.Matcher; import jav

java正则表达式简单应用_java

一:抓取网页中的Email地址 利用正则表达式匹配网页中的文本 [\\w[.-]]+@[\\w[.-]]+\\.[\\w]+ 将网页内容分割提取 import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.regex.Matcher; import java.util.rege

Java正则表达式使用

一:抓取网页中的Email地址 利用正则表达式匹配网页中的文本 复制代码 代码如下: [\\w[.-]]+@[\\w[.-]]+\\.[\\w]+ 将网页内容分割提取 import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.regex.Matcher; import jav