java统计代码行数
生活随笔
收集整理的這篇文章主要介紹了
java统计代码行数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
公司有個奇葩要求,統計代碼行數,寫了個java代碼用來統計代碼行數,空行,注釋之類的。
僅供參考。
import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException;/*** @Auther: tianyuan* @Description:* @Date: 2022/6/30*/ public class CountCodeLines {private static long nullLines = 0; // 空行private static long annoLines = 0; // 注釋行private static long codeLines = 0; // 代碼行private static long configLines = 0; // 配置文件行行private static long allLines = 0; // 總行public static void main(String[] args) {CountCodeLines ccl = new CountCodeLines();ccl.listFile("D:\\Project\\xxx");System.out.println("空行:" + nullLines);System.out.println("注釋行:" + annoLines);System.out.println("代碼行:" + codeLines);System.out.println("配置文件行:" + configLines);System.out.println("總行:" + allLines);}/*** 循環文件夾統計* @param filePath*/private void listFile(String filePath) {File f = new File(filePath);File[] childs = f.listFiles();for (int i = 0; i < childs.length; i++) {if (!childs[i].isDirectory()) {if (childs[i].getName().matches(".*\\.java$")||childs[i].getName().endsWith(".yml")|| childs[i].getName().endsWith(".xml") // || childs[i].getName().endsWith(".properties")) {System.out.println(childs[i].getName());sumCode(childs[i]);}}else {listFile(childs[i].getPath());}}}/*** 統計代碼行數* @param file*/private void sumCode(File file){BufferedReader br = null;try{br = new BufferedReader(new FileReader(file));String line = "";while ((line = br.readLine()) != null){allLines++;if(file.getName().endsWith(".yml")|| file.getName().endsWith(".xml")|| file.getName().endsWith(".properties")){//配置文件configLines++;}else {//java文件String trimStr = line.trim();if (trimStr.length() == 0){//空行nullLines++;}else if (trimStr.startsWith("//")|| trimStr.startsWith("/**")|| trimStr.startsWith("*")|| trimStr.startsWith("*/")|| trimStr.startsWith("/*")){annoLines++;}else {codeLines++;}}}}catch (Exception e){e.printStackTrace();}finally {try {br.close();} catch (IOException e) {e.printStackTrace();}}}}執行結果:
?
總結
以上是生活随笔為你收集整理的java统计代码行数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据可视化分析软件开发_大数据系统建设解
- 下一篇: RSA 加解密 1024 位 2048