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

為了賬號安全,請及時綁定郵箱和手機立即綁定

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

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

正在回答

3 回答

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

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

感覺就是?

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

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

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

因為第一種方法有著數(shù)組大小的控制,想要讀取完一個未知文件的話 就要設(shè)置一個較大的數(shù)組

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

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

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

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

hy_wang 提問者

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

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

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

舉報

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

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

進入課程

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

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

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

幫助反饋 APP下載

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

公眾號

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