天天看點

使用BufferedReader 的readLine方法來計算自己寫的代碼總行數

使用BufferedReader 的readLine方法來計算自己寫的代碼總行數

public class Demo {
	//因為要再靜态方法中使用該變量,是以定義為靜态,此變量用來存儲java代碼行數
    static long count;
    public static void main(String[] args) {
    	//調用getSum方法指定需要查詢的代碼在本地存儲的位置,這裡放的是絕對路徑
        System.out.println("寫的代碼行數:"+getSum(new File("D:\\myself\\study\\code")));
    }
    public static long getSum(File f) {
    	//獲得目前路徑下的所有檔案夾
        File[] arr = f.listFiles();
        //判斷目前路徑不為空
        if (arr!=null) {
        	//變量目前路徑的所有檔案
            for (File file : arr) {
            	//如果類型屬于檔案并且檔案的字尾名為“java”
                if (file.isFile() && file.getName().endsWith("java")) {
                    try {
                    	//建立字元緩沖輸入流對象,指定源檔案路徑
                        BufferedReader br = new BufferedReader(new FileReader(file));
                        //當讀取一行後java代碼行數+1
                        while (br.readLine()!=null) {
                            count++;
                        }
                    } catch (Exception e) {
                    	//若是程式出現異常則進行捕獲并在控制台列印異常資訊
                        System.out.println("程式出現異常,異常資訊:"+e.getMessage());
                    }
                }
                //如果目前是檔案夾則再次調用getSum方法進行判斷,直到讀完指定源檔案路徑下的所有檔案夾及其所有子檔案
                if (file.isDirectory()) {
                    getSum(file);
                }
            }
        }
        //将最終的結果傳回
        return count;
    }
}
           

注意:運作此檔案讀取的是java檔案,需要在本地中設定可檢視檔案字尾名

使用BufferedReader 的readLine方法來計算自己寫的代碼總行數