最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Java簡單實現(xiàn)一個代碼行數(shù)統(tǒng)計器方法實例

 更新時間:2020年11月09日 10:42:16   作者:Li_black  
這篇文章主要給大家介紹了關(guān)于如何利用Java簡單實現(xiàn)一個代碼行數(shù)統(tǒng)計器的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

哈嘍,我是小黑, 最近學(xué)了java的輸入輸出流后一直心癢癢,總想找一點事情來做,所以用java代碼來實現(xiàn)了一下統(tǒng)計代碼的所有行數(shù),看一下我上大學(xué)以來到底打了多少行。

先附上實現(xiàn)代碼吧!

package InOutStream;
import java.util.* ;
import java.io.* ;

class codeCount {
	private static int count ; //統(tǒng)計總行數(shù)
	private static int countCPP ;//CPP
	private static int countJAVA ;//java
	private static int countPY ;//python
	private String path ; //用于接收用戶輸入保存代碼的文件夾的路徑
	private int reading(String path) throws Exception { //該函數(shù)用來統(tǒng)計一個代碼文件的行數(shù)
		FileReader reader = new FileReader(path) ;
		BufferedReader buffer = new BufferedReader(reader) ;
		int count = 0 ;
		while(buffer.readLine()!=null) {
			count ++ ;
		}
		buffer.close() ;
		reader.close() ;
		return count ;
	}
	private void caculate(String nowpath) throws Exception{//計數(shù)函數(shù)
		File nowfile = new File(nowpath) ;
		if (nowfile.isFile()) {
			if (nowpath.endsWith(".cpp")) {
				int sum = reading(nowpath) ;
				countCPP += sum ;
				count += sum ;
			}
			else if (nowpath.endsWith(".py")) {
				int sum = reading(nowpath) ;
				countPY += sum ;
				count += sum ;
			}
			else if (nowpath.endsWith(".java")) {
				int sum = reading(nowpath) ;
				countJAVA += sum ;
				count += sum ;
			}
			else {
				System.out.println(nowpath.substring(nowpath.indexOf("."))+":該類型文件不屬于代碼文件或該代碼文件統(tǒng)計功能正在開發(fā)中,敬請期待!");
			}
		}
		else { //如果這個路徑表示的是一個文件夾,則執(zhí)行遞歸操作
			String []filesset = nowfile.list() ;
			for (String i:filesset ) {
				String newpath = nowpath + nowfile.separator + i ;//合成路徑
				caculate(newpath) ;
			}
		}
	}
	public codeCount(String src) {
		path = src ;
	}
	public static int getLinesCPP() {
		return countCPP ;
	}
	public static int getLinesJAVA() {
		return countJAVA ;
	}
	public static int getLinesPY() {
		return countPY ;
	}
	public static int getLines() {
		return count ;
	}
	public void caculator() throws Exception { //外界包裝
		this.caculate(path) ;
	}
	public String toString() { //重寫toString方法
		return "統(tǒng)計結(jié)果如下:\n" +
				"cpp行數(shù):\n"+countCPP +
				"\njava行數(shù):\n"+countJAVA +
				"\npython行數(shù):\n"+countPY ;
	}
}

public class Count{
	public static void main(String []args) throws Exception {
		Scanner cin = new Scanner(System.in) ;
		System.out.println("請輸入地址:");
		String path = cin.next() ;
		codeCount machine = new codeCount(path) ;
		machine.caculator(); 
		System.out.println(machine.toString());
		cin.close();
	}
}

實例:

我在桌面保存了一個文件夾用來保存代碼:

打開后是這個樣子:

取路徑:

運行程序,將路徑粘貼到程序之內(nèi)

結(jié)果如下!!!

這就是所有代碼拉?。∪绻阌衅渌裁磳崿F(xiàn)方法或者意見或者建議,歡迎在評論區(qū)中提出來哦!

ps:由于我只學(xué)了c、cpp、java、python。所以代碼中只針對這幾種進行了統(tǒng)計,歡迎您修改代碼來滿足您的需求??!

總結(jié)

到此這篇關(guān)于利用Java簡單實現(xiàn)一個代碼行數(shù)統(tǒng)計器的文章就介紹到這了,更多相關(guān)Java實現(xiàn)代碼行數(shù)統(tǒng)計器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java package編譯亂碼問題解決

    Java package編譯亂碼問題解決

    這篇文章主要介紹了Java package編譯亂碼問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • Java基于二分搜索樹、鏈表的實現(xiàn)的集合Set復(fù)雜度分析實例詳解

    Java基于二分搜索樹、鏈表的實現(xiàn)的集合Set復(fù)雜度分析實例詳解

    這篇文章主要介紹了Java基于二分搜索樹、鏈表的實現(xiàn)的集合Set復(fù)雜度分析,結(jié)合實例形式詳細分析了Java基于二分搜索樹、鏈表的實現(xiàn)的集合Set復(fù)雜度分析相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2020-03-03
  • Spring Boot 通過 Mvc 擴展方便進行貨幣單位轉(zhuǎn)換的代碼詳解

    Spring Boot 通過 Mvc 擴展方便進行貨幣單位轉(zhuǎn)換的代碼詳解

    這篇文章主要介紹了Spring Boot 通過 Mvc 擴展方便進行貨幣單位轉(zhuǎn)換,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Filter在springboot中的使用方法詳解

    Filter在springboot中的使用方法詳解

    這篇文章主要介紹了Filter在springboot中的使用方法詳解,filter(過濾器)作用于在intreceptor(攔截器)之前,不像intreceptor一樣依賴于springmvc框架,只需要依賴于serverlet,需要的朋友可以參考下
    2023-08-08
  • 詳解使用Java代碼讀取并比較本地兩個txt文件區(qū)別

    詳解使用Java代碼讀取并比較本地兩個txt文件區(qū)別

    這篇文章主要為大家介紹了使用Java代碼讀取并比較本地兩個txt文件區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • Spring Security的簡單使用

    Spring Security的簡單使用

    這篇文章主要介紹了Spring Security的簡單使用,幫助大家更好的理解和學(xué)習(xí)使用SpringBoot,感興趣的朋友可以了解下
    2021-04-04
  • Java之線程編程的4種方法實現(xiàn)案例講解

    Java之線程編程的4種方法實現(xiàn)案例講解

    這篇文章主要介紹了Java之線程編程的4種方法實現(xiàn)案例講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Java中值類型和引用類型詳解

    Java中值類型和引用類型詳解

    大家好,本篇文章主要講的是Java中值類型和引用類型詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • MybatisPlus批量保存原理及失效原因排查全過程

    MybatisPlus批量保存原理及失效原因排查全過程

    這篇文章主要介紹了MybatisPlus批量保存原理及失效原因排查全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Java流操作之?dāng)?shù)據(jù)流實例代碼

    Java流操作之?dāng)?shù)據(jù)流實例代碼

    這篇文章主要介紹了Java流操作之?dāng)?shù)據(jù)流實例代碼,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01

最新評論

昌邑市| 威海市| 独山县| 都安| 满城县| 什邡市| 微山县| 朔州市| 南康市| 蒙山县| 台中县| 社旗县| 股票| 老河口市| 三都| 娱乐| 吴旗县| 安康市| 宜州市| 托里县| 尉犁县| 鄂温| 格尔木市| 新疆| 北安市| 新昌县| 佳木斯市| 馆陶县| 柯坪县| 安溪县| 石家庄市| 齐齐哈尔市| 广宁县| 南城县| 梨树县| 天水市| 方城县| 肥城市| 大足县| 贵溪市| 廉江市|