자바 코드 줄 수 를 빠르게 통계 합 니 다.
2950 단어 통계 코드 줄 수
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
/**
*
*/
public class CodeCounter {
/**
*
*/
public static void main(String[] args) {
String file = CodeCounter.class.getResource("/").getFile();
String path = file.replace("target/test-classes", "src");
ArrayList<File> al = getFile(new File(path));
for (File f : al) {
if (f.getName().matches(".*\\.java$")){ // java
count(f);
System.out.println(f);
}
}
System.out.println(" :" + files);
System.out.println(" :" + codeLines);
System.out.println(" :" + commentLines);
System.out.println(" :" + blankLines);
}
static long files = 0;
static long codeLines = 0;
static long commentLines = 0;
static long blankLines = 0;
static ArrayList<File> fileArray = new ArrayList<File>();
/**
*
* @param f
* @return
*/
public static ArrayList<File> getFile(File f) {
File[] ff = f.listFiles();
for (File child : ff) {
if (child.isDirectory()) {
getFile(child);
} else
fileArray.add(child);
}
return fileArray;
}
/**
*
* @param f
*/
private static void count(File f) {
BufferedReader br = null;
boolean flag = false;
try {
br = new BufferedReader(new FileReader(f));
String line = "";
while ((line = br.readLine()) != null) {
line = line.trim(); //
if (line.matches("^[ ]*$")) { //
blankLines++;
} else if (line.startsWith("//")) {
commentLines++;
} else if (line.startsWith("/*") && !line.endsWith("*/")) {
commentLines++;
flag = true;
} else if (line.startsWith("/*") && line.endsWith("*/")) {
commentLines++;
} else if (flag == true) {
commentLines++;
if (line.endsWith("*/")) {
flag = false;
}
} else {
codeLines++;
}
}
files++;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
br = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
아이디어 통계 코드 줄 수 Statistic 의 절차 상세 설명아이디어 통계 코드 줄 수 는 플러그 인:Statistic 에 사용 할 수 있 습 니 다. 주의:Statistic 은 아이디어 버 전에 대한 요구 가 있 습 니 다. 제 아이디어 버 전 은 2019.1 입 니 다.직...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.