第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于io字節(jié)流問題

59dc86b50001c97c10011334.jpg
59dc86b400014e8810011334.jpg
請問關(guān)于這兩種方法我的疑問是
兩圖中的方法 第二個(gè)相對于第一個(gè)到底有什么好處 以及如何理解

正在回答

3 回答

就是通過while循環(huán),read的指針不斷往后移,開始是開足馬力每次都length長度,只有可能到最后一次,read不足length。由此實(shí)現(xiàn)只需要開辟一個(gè)很小空間的byte[]就可以讀入很多的字節(jié)

1 回復(fù) 有任何疑惑可以回復(fù)我~

感覺就是?

第一種方法無論你讀取的文件有多大 ?他就會讀取到byte數(shù)組滿了以后就不會再讀取了 ? 所以就只讀取出來byte所能存放的那么多的字節(jié)

第二種方法是循環(huán)的向byte數(shù)組中讀取數(shù)據(jù),一直讀取到文件結(jié)尾,也就是read方法返回-1的時(shí)候

說到好處也就是第二個(gè)方法可以設(shè)置較小的數(shù)組讀取完較大的文件,

因?yàn)榈谝环N方法有著數(shù)組大小的控制,想要讀取完一個(gè)未知文件的話 就要設(shè)置一個(gè)較大的數(shù)組

0 回復(fù) 有任何疑惑可以回復(fù)我~

第一個(gè)設(shè)置的byte數(shù)組設(shè)置的長度足夠大,所以能夠一次性能夠讀完

但是第二個(gè)的設(shè)置多了一個(gè)while , 即可能一個(gè)BYTE數(shù)組沒法一次性讀完,所以需要加上判斷條件

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

hy_wang 提問者

相比于第一個(gè) 請問第二個(gè) 如果in中的字節(jié)比buf中的多的話,是不是和第一個(gè)一樣。最多只能讀buf.length個(gè)字節(jié),其他的就是缺失了嗎。還有就是字節(jié)標(biāo)識是不是從 0 開始 至 buf.length 請問是嗎
2017-10-12 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕標(biāo)7443549 回復(fù) hy_wang 提問者

第二個(gè)中 int是返回一共讀入到字節(jié)數(shù)組的個(gè)數(shù),因?yàn)榭赡苣闼x取的字節(jié) 一個(gè)字節(jié)數(shù)組不夠用,所以需要讀取到數(shù)組中很多次,而int就是你讀取到數(shù)組中的個(gè)數(shù),前幾次,因?yàn)橐呀?jīng)讀滿了數(shù)組,所以int其實(shí)和數(shù)組的長度是一致,最后一次可能數(shù)組不會讀滿,則int為填充到字節(jié)數(shù)組中的個(gè)數(shù),繼續(xù)往下讀則會出現(xiàn)-1的情況,則結(jié)束
2017-10-13 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
文件傳輸基礎(chǔ)——Java IO流
  • 參與學(xué)習(xí)       133827    人
  • 解答問題       1060    個(gè)

為您介紹IO流的使用,以及對象的序列化和反序列化的內(nèi)容

進(jìn)入課程

關(guān)于io字節(jié)流問題

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號