<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    vjame

    優(yōu)化代碼是無止境的
    隨筆 - 65, 文章 - 9, 評論 - 26, 引用 - 0
    數(shù)據(jù)加載中……

    代碼統(tǒng)計(jì)

    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 閱讀(477) 評論(5)  編輯  收藏 所屬分類: Java App

    評論

    # re: 代碼統(tǒng)計(jì)  回復(fù)  更多評論   

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

    # Pharmacy  回復(fù)  更多評論   

    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  回復(fù)  更多評論   

    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  回復(fù)  更多評論   

    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  回復(fù)  更多評論   

    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
    主站蜘蛛池模板: 国产成人高清亚洲一区久久| 国产免费久久精品99久久| 亚洲码一区二区三区| 亚洲神级电影国语版| 人妻无码久久一区二区三区免费| 无码人妻一区二区三区免费| 免费在线精品视频| 亚洲精品国产品国语在线| 久久亚洲国产最新网站| 一区二区三区免费在线视频 | 亚洲国产美女精品久久久久∴| 麻豆一区二区三区蜜桃免费| 亚洲免费精彩视频在线观看| 日韩高清免费在线观看| 亚洲精品~无码抽插| 暖暖在线视频免费视频| 亚洲国产午夜福利在线播放| 亚洲精品高清久久| 男性gay黄免费网站| 亚洲无码日韩精品第一页| 亚洲熟妇丰满xxxxx| 日韩免费无码一区二区三区 | 亚洲国产成人精品无码一区二区 | 亚洲免费综合色在线视频| 亚洲日韩AV一区二区三区中文| 国产精品偷伦视频观看免费 | 亚洲A∨精品一区二区三区| 亚洲精品天堂在线观看| 免费成人午夜视频| 免费无码又爽又刺激网站| 国产亚洲精品拍拍拍拍拍| 日韩在线视频线视频免费网站| 亚洲综合图色40p| yellow视频免费看| 亚洲日韩国产成网在线观看| 另类免费视频一区二区在线观看 | 暖暖在线视频免费视频| 亚洲人成网站色7799| 亚洲精品国产精品乱码不99 | 1000部拍拍拍18免费网站| 亚洲一区二区电影|