側測代碼量

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class LineOfCode {

	public  static int lineOfCode(File src) throws IOException{
		int sum=0;
		if(src.isFile()){
			sum+=count(src);
		}
		else
		{
			File[] fileList = src.listFiles();
			for(File f:fileList){
				if(f.isDirectory()){
					sum+=lineOfCode(f);
				}else{
					sum+=count(f);
				}
			}
		}
		return sum;
	}
	public static int count(File src) throws IOException{
		int sum=0;
		BufferedReader br =new BufferedReader(new InputStreamReader(new FileInputStream(src), "utf-8"));
		String info = null;
		if(src.getName().endsWith(".java")){
			while(null!= (info=br.readLine())){
				sum++;
			}
		}
		br.close();
		return sum;
	}
	
	
	public static void main(String[] args) {
		File src = new File("G:/Study");
		try {
			System.out.println(lineOfCode(src));
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章