課程
/后端開發(fā)
/Java
/文件傳輸基礎(chǔ)——Java IO流
太不可思議了
2014-11-27
源自:文件傳輸基礎(chǔ)——Java IO流 4-5
正在回答
這里的數(shù)組應(yīng)該相當(dāng)于緩存 ??
我仔細(xì)看了下buffered那個copy 的方法:
BufferedInputStream bis=new BufferedInputStream(
new FileInputStream(destFile));
BufferedOutputStream bos=new BufferedOutputStream(
new FileOutputStream(destFile));
int c;
while((c=bis.read())!=-1)//從這里看應(yīng)該是一個一個字節(jié)的讀取,但是他讀出后先放到一個默認(rèn)大小的緩沖區(qū),因為是BufferedOutputStream。等到緩沖區(qū)滿了,刷新緩沖區(qū)。
//而批量的那個copy 方法是一次就讀取一塊字節(jié)數(shù)組,所以是整塊整塊的讀取數(shù)據(jù)的。所以批量讀取的是最快的。
//BufferedOutputStream 可以改進(jìn)成也是按照一塊塊的讀取 ?在循環(huán)前面頂一個字節(jié)數(shù)組,代碼我就不寫了 這樣應(yīng)該是最快的
//總結(jié)下:BufferedOutputStream通過增加緩沖減少內(nèi)存訪問次數(shù),以此來減少運(yùn)行時間。而批量操作是讀取單位變大了,每一次按照塊來讀,所以極大程度的降低了程序的運(yùn)行時間。
這是我的想法??梢詤⒖枷?。你有什么想法,我們可以交流下。
這什么最佳垃圾答案 你有沒有看過 前面的視頻
這個問題我也 再思考 ?怎么忽視緩存 最快啊
舉報
為您介紹IO流的使用,以及對象的序列化和反序列化的內(nèi)容
1 回答既然批量讀寫更快,為什么還要學(xué)date和buffered
2 回答帶緩沖的應(yīng)該比批量的讀取快吧?帶緩沖的批量比批量快吧?
3 回答為什么數(shù)組為[8*1024]
4 回答為什么我利用createNewFile()無法創(chuàng)建文件
1 回答老師打System.out.println()怎么這么快啊
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-10-26
這里的數(shù)組應(yīng)該相當(dāng)于緩存 ??
2015-12-15
我仔細(xì)看了下buffered那個copy 的方法:
BufferedInputStream bis=new BufferedInputStream(
new FileInputStream(destFile));
BufferedOutputStream bos=new BufferedOutputStream(
new FileOutputStream(destFile));
int c;
while((c=bis.read())!=-1)//從這里看應(yīng)該是一個一個字節(jié)的讀取,但是他讀出后先放到一個默認(rèn)大小的緩沖區(qū),因為是BufferedOutputStream。等到緩沖區(qū)滿了,刷新緩沖區(qū)。
//而批量的那個copy 方法是一次就讀取一塊字節(jié)數(shù)組,所以是整塊整塊的讀取數(shù)據(jù)的。所以批量讀取的是最快的。
//BufferedOutputStream 可以改進(jìn)成也是按照一塊塊的讀取 ?在循環(huán)前面頂一個字節(jié)數(shù)組,代碼我就不寫了 這樣應(yīng)該是最快的
//總結(jié)下:BufferedOutputStream通過增加緩沖減少內(nèi)存訪問次數(shù),以此來減少運(yùn)行時間。而批量操作是讀取單位變大了,每一次按照塊來讀,所以極大程度的降低了程序的運(yùn)行時間。
這是我的想法??梢詤⒖枷?。你有什么想法,我們可以交流下。
2015-11-12
這什么最佳垃圾答案 你有沒有看過 前面的視頻
2014-12-20
這個問題我也 再思考 ?怎么忽視緩存 最快啊