import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException; public class CountCode {
static int nomalCount = 0;//代码行
static int commonCount = 0;//注释行
static int whiteCount = 0;//空白行
public static void main(String[] args) {
File f = new File("D:\\testjava");
File[] files = f.listFiles();
for(int i=0;i<files.length;i++){
File ff = files[i];
System.out.println(ff.getName());
if(ff.getName().matches(".*\\.java$")){
System.out.println("000000"); parse(ff);
}
}
System.out.println("nomoalCount="+nomalCount);
System.out.println("commonCount="+commonCount);
System.out.println("whiteCount="+whiteCount);
} private static void parse(File f) {
BufferedReader br = null;
boolean flag = false;
try {
br = new BufferedReader(new FileReader(f));
String line = "";
while((line = br.readLine()) != null){
          line = line.trim();
if(line.matches("^[\\s&&[^\\n]]*$")){//空白行正则表达式
whiteCount++;
}else if(line.startsWith("/*")&& !line.endsWith("*/")){
commonCount++;
flag = true;
}else if(true == flag){
commonCount++;
if(line.endsWith("*/")){
System.out.println("sdfsd");
flag = false;
}
}else{
nomalCount++;
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

最新文章

  1. AutoMapper搬运工之初探AutoMapper
  2. PYTHON学习总结
  3. Cellphone Typing 字典树
  4. [Android Pro] 超能RecyclerView组件使用
  5. 手机h5 页面 iPhone 下 手机号码 蓝色字体 黑色字体
  6. Interesting visualization tools for profiling.
  7. javamail发送二进制流附件的问题
  8. iOS导航标题不居中问题(转载)
  9. Leetcode题解(一)
  10. linux 下gcc 编译结构体问题
  11. Laravel 常见错误 1071 Specified key was too long
  12. redis(二)--用Redis作MySQL数据库缓存
  13. tensorflow intel platform 优化
  14. Spring项目JUnit测试报错ClassNotFoundException解决
  15. [android] fragment的生命周期和通讯
  16. 【Android自动化】unittest测试框架关于用例执行的几种方法
  17. jquery判断滚动到某个div显示底部按钮
  18. CentOS7安装VMware Tools
  19. Hbase(四) 过滤器查询
  20. [ python ] 字符串的操作及作业题

热门文章

  1. 获取android控件的高度
  2. c++模板使用出错情况error LNK2019: unresolved external symbol &quot;public: float __thiscall Compare&lt;float&gt;::min(void)&quot; (?min@?$Compare@M@@QAEMXZ) referenced in function _main
  3. 关于android帮助文档打开慢
  4. nginx php rewrite配置
  5. JS中变量名作为if条件的 true/flase
  6. kaggle 竞赛之套路
  7. io流导出csv
  8. java web(spring mvc) 获取请求host 和 如何获取静态页的相对路径
  9. WCF账户密码认证
  10. 对Hadoop体系的一点认识