哪位大虾能给个处理有效代码的例子(用到正则表达式,I/O流。。 ) 哪位大虾能给个处理有效代码的例子(用到正则表达式,I/O流。。 ) 不包含注释, 空白符, 换行等 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //这个你自己运行看看行不行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(); } } } }} 关于单例模式懒汉式空指针的问题! 一个关于接口中方法的问题 匿名内部类问题 内部类的一道选择题 这道数学题该如何解? 一个好的it电子书资源。什么书都有大家共享 极其弱智的问题 困惑??jdk?? 双字节字段的类型数据显示 Byte转换Short,如何实现? 正则表达式过滤-牛人帮忙 怎么在别人java类的方法分支处插入装置变量
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();
}
}
}
}}