vjame

          優化代碼是無止境的
          隨筆 - 65, 文章 - 9, 評論 - 26, 引用 - 0
          數據加載中……

          代碼統計

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

          }

          posted on 2009-02-09 13:23 lanjh 閱讀(490) 評論(5)  編輯  收藏 所屬分類: Java App

          評論

          # re: 代碼統計  回復  更多評論   

          這個算法比較簡單,而且沒有考慮折行的問題,難能可貴的是是自己實現這個算法,鼓勵了
          2009-02-10 11:13 | jeasonzhao

          # Pharmacy  回復  更多評論   

          Hi. In the future I'm going to keep here links to their sites. But I do not worry about the sites where my link is removed. So if you do not want to see a mountain of links, simply delete this message. After 2 weeks, I will come back and check.
          2009-05-12 01:53 | Taddeo

          # Wall clock  回復  更多評論   

          Hello everyone. Speak when you are angry--and you will make the best speech you'll ever regret.
          I am from Egypt and learning to write in English, please tell me right I wrote the following sentence: "Synthroid and phentermine, tramadol cheap price, phentermine with vit injection, phentermine no prescription online consultation, addition in order phentermine."

          Thank you so much for your future answers :-(. Zaccheus.
          2009-05-15 19:25 | Zaccheus

          # Payday LOan  回復  更多評論   

          Give please. Use what you have to run toward your best - that's how I now live my life.
          I am from Czech and also now'm speaking English, give please true I wrote the following sentence: "Progesterone, synthroid, flagyli I pulses azith m w f sun, estriol, progesterone, synthroid, and pulsing w flagyli."

          Thanks for the help 8), Doreen.
          2009-05-19 11:45 | Doreen

          # Turbo Tax  回復  更多評論   

          Hi everyone. I love you so much. Great place to visit. Help me! Can not find sites on the: Turbo Tax. I found only this - <a href="http://turbo-tax.biz">turbo tax</a>. Buy cytomel liothyronine sodium online. Synthroid too high synthroid and cholesterol soon after starting synthroid taken with adderall tramadol, he began to. With respect ;-), Rosalyn from Jamaica.
          2009-05-24 18:55 | Rosalyn
          主站蜘蛛池模板: 江安县| 个旧市| 嘉义市| 禹城市| 松潘县| 滦平县| 达州市| 娱乐| 平顶山市| 卢氏县| 海城市| 中卫市| 双辽市| 漳平市| 东阿县| 井研县| 大竹县| 左云县| 井冈山市| 宁化县| 广昌县| 淮北市| 宁德市| 江西省| 南和县| 丹凤县| 秭归县| 金湖县| 收藏| 广汉市| 富裕县| 长白| 房山区| 湘乡市| 汉沽区| 无棣县| 古蔺县| 景东| 邯郸市| 六安市| 湘潭市|