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

詳解Java中IO字節(jié)流基本操作(復(fù)制文件)并測(cè)試性能

 更新時(shí)間:2019年04月10日 11:47:29   作者:會(huì)飛的Yang  
這篇文章主要介紹了Java中IO字節(jié)流基本操作(復(fù)制文件)并測(cè)試性能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

此次案例將以復(fù)制文件的形式來(lái)演示IO字節(jié)流的基本操作,復(fù)制一個(gè)mp3文件,文件信息如下圖:

main方法測(cè)試

 public static void main(String[] args) throws Exception {
		//源文件
		String srcFile = "src/a.mp3";
		//目的文件
		String destFile = "src/b.mp3";
		long start = System.currentTimeMillis();
        ...
		復(fù)制文件方法
        ...
		long end = System.currentTimeMillis();
		System.out.println("共耗時(shí)"+(end-start)+"毫秒");
	}

一、一次讀取一個(gè)字節(jié)

//一次讀取一個(gè)字節(jié)
public static void copy1(String srcFile,String destFile) throws Exception {
		
	//封裝文件
	InputStream in = new FileInputStream(srcFile);
	OutputStream out = new FileOutputStream(destFile);
		
	//復(fù)制文件
	int b = 0;
	while ((b = in.read()) != -1) {
			out.write(b);
	}
		
	//釋放資源
	in.close();
	out.close();
	}

運(yùn)行截圖:

二、一次讀取一個(gè)字節(jié)數(shù)組

// 一次讀取一個(gè)字節(jié)數(shù)組
public static void copy2(String srcFile, String destFile) throws Exception {
 
	// 封裝文件
	InputStream in = new FileInputStream(srcFile);
	OutputStream out = new FileOutputStream(destFile);
 
	// 復(fù)制文件
	byte[] buff = new byte[1024];
	int len = 0;
	while ((len = in.read(buff)) != -1) {
			out.write(buff, 0, len);
	}
 
	// 釋放資源
	in.close();
	out.close();
	}

運(yùn)行截圖:

三、使用高效緩沖區(qū)一次讀取一個(gè)字節(jié)

/ 使用高效緩沖區(qū)一次讀取一個(gè)字節(jié)
public static void copy3(String srcFile, String destFile) throws Exception {
 
	// 封裝文件
	BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));
	BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile));
 
	// 復(fù)制文件
	int b = 0;
	while ((b = bis.read()) != -1) {
			bos.write(b);
	}
 
	// 釋放資源
	bis.close();
	bos.close();
	}

運(yùn)行截圖:

四、使用高效緩沖區(qū)一次讀取一個(gè)字節(jié)數(shù)組

// 使用高效緩沖區(qū)一次讀取一個(gè)字節(jié)數(shù)組
public static void copy4(String srcFile, String destFile) throws Exception {
 
	// 封裝文件
	BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));
	BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile));
 
	// 復(fù)制文件
	byte[] buf = new byte[1024];
	int len = 0;
	while ((len = bis.read(buf)) != -1) {
			bos.write(buf, 0, len);
	}
 
	// 釋放資源
	bis.close();
	bos.close();
	}

運(yùn)行截圖:

注:每臺(tái)測(cè)試的速度結(jié)果不一樣

以上所述是小編給大家介紹的Java中IO字節(jié)流基本操作(復(fù)制文件)并測(cè)試性能,詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • SpringData JPA審計(jì)功能(@CreatedDate與@LastModifiedDate)實(shí)現(xiàn)

    SpringData JPA審計(jì)功能(@CreatedDate與@LastModifiedDate)實(shí)現(xiàn)

    Spring Data JPA的審計(jì)功能提供了一種強(qiáng)大而靈活的機(jī)制,用于自動(dòng)跟蹤實(shí)體的創(chuàng)建和修改信息,通過(guò)使用@CreatedDate和@LastModifiedDate注解,開發(fā)者可以輕松地實(shí)現(xiàn)時(shí)間審計(jì),感興趣的可以了解一下
    2025-04-04
  • 深入淺出分析Java 類和對(duì)象

    深入淺出分析Java 類和對(duì)象

    面向?qū)ο竽耸荍ava語(yǔ)言的核心,是程序設(shè)計(jì)的思想。Java語(yǔ)言的面向?qū)ο蠹夹g(shù)包括了面向?qū)ο蠛兔嫦蜻^(guò)程的基本概念,面向?qū)ο蟮奶卣?,Java語(yǔ)言的類,對(duì)象,修飾符,抽象類等一系列的知識(shí)點(diǎn)
    2022-03-03
  • 解決IDEA?2022?Translation?翻譯文檔失敗:?未知錯(cuò)誤的問(wèn)題

    解決IDEA?2022?Translation?翻譯文檔失敗:?未知錯(cuò)誤的問(wèn)題

    這篇文章主要介紹了IDEA?2022?Translation?翻譯文檔失敗:?未知錯(cuò)誤,本文較詳細(xì)的給大家介紹了IDEA?2022?Translation未知錯(cuò)誤翻譯文檔失敗的解決方法,需要的朋友可以參考下
    2022-04-04
  • spring boot自帶圖片服務(wù)器使用詳解

    spring boot自帶圖片服務(wù)器使用詳解

    這篇文章主要為大家詳細(xì)介紹了spring boot自帶圖片服務(wù)器的使用 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 深入了解Java SpringBoot自動(dòng)裝配原理

    深入了解Java SpringBoot自動(dòng)裝配原理

    在使用springboot時(shí),很多配置我們都沒(méi)有做,都是springboot在幫我們完成,這很大一部分歸功于springboot自動(dòng)裝配。本文將詳細(xì)為大家講解SpringBoot的自動(dòng)裝配原理,需要的可以參考一下
    2022-03-03
  • 解決Elasticsearch因jdk版本問(wèn)題啟動(dòng)失敗的問(wèn)題

    解決Elasticsearch因jdk版本問(wèn)題啟動(dòng)失敗的問(wèn)題

    這篇文章主要介紹了解決Elasticsearch因jdk版本問(wèn)題啟動(dòng)失敗的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 基于Maven pom文件使用分析

    基于Maven pom文件使用分析

    本文詳細(xì)介紹了Maven項(xiàng)目的核心配置文件pom.xml的結(jié)構(gòu)和各個(gè)元素的用途,包括項(xiàng)目基礎(chǔ)信息、依賴管理、倉(cāng)庫(kù)配置、構(gòu)建配置、版本控制、分發(fā)和報(bào)告配置等,幫助讀者全面了解Maven項(xiàng)目的構(gòu)建和管理過(guò)程
    2024-12-12
  • Java實(shí)現(xiàn)登錄和注冊(cè)案例

    Java實(shí)現(xiàn)登錄和注冊(cè)案例

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)登錄和注冊(cè)案例,把用戶信息存進(jìn)集合,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 深入理解Java @Entity注解及其與數(shù)據(jù)庫(kù)表的關(guān)聯(lián)

    深入理解Java @Entity注解及其與數(shù)據(jù)庫(kù)表的關(guān)聯(lián)

    這篇文章主要介紹了深入理解Java @Entity注解及其與數(shù)據(jù)庫(kù)表的關(guān)聯(lián),@Entity注解在JPA中占據(jù)核心地位,它建立起Java實(shí)體類和數(shù)據(jù)庫(kù)表之間的映射關(guān)系,需要的朋友可以參考下
    2025-05-05
  • MyBatis-Plus如何使用枚舉自動(dòng)關(guān)聯(lián)注入詳解

    MyBatis-Plus如何使用枚舉自動(dòng)關(guān)聯(lián)注入詳解

    這篇文章主要給大家介紹了關(guān)于MyBatis-Plus如何使用枚舉自動(dòng)關(guān)聯(lián)注入的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MyBatis-Plus具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-03-03

最新評(píng)論

拜城县| 两当县| 仪征市| 营山县| 潮州市| 伊宁县| 临颍县| 东丽区| 珠海市| 醴陵市| 容城县| 海兴县| 蒙城县| 聊城市| 玉树县| 周至县| 阳谷县| 呼和浩特市| 刚察县| 利川市| 马公市| 平远县| 朝阳市| 惠东县| 泸西县| 龙山县| 大关县| 景东| 孟州市| 千阳县| 清涧县| 广汉市| 黄冈市| 鄂州市| 始兴县| 江源县| 久治县| 呼图壁县| 曲沃县| 永康市| 来宾市|