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 閱讀(479) 評論(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
          主站蜘蛛池模板: 丘北县| 乐都县| 高雄市| 达州市| 霍林郭勒市| 天津市| 明水县| 汤原县| 句容市| 星座| 宜良县| 政和县| 西和县| 无棣县| 长海县| 崇州市| 大田县| 雷波县| 阳曲县| 炎陵县| 杂多县| 乌拉特中旗| 景洪市| 昌吉市| 呼伦贝尔市| 中宁县| 沁源县| 庆云县| 武城县| 宽甸| 金平| 武定县| 景宁| 类乌齐县| 波密县| 田林县| 舒兰市| 桑日县| 衡东县| 冀州市| 红原县|