最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

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

利用字節(jié)輸入流,讀出的內(nèi)容多于原來的內(nèi)容

字節(jié)流讀入得內(nèi)容多于或少于原來的內(nèi)容是怎么回事。我用的是?byte?buffer[]=new?byte[64];字節(jié)數(shù)組讀的

正在回答

2 回答

肯定是 最后一次讀的時(shí)候,字節(jié)數(shù)不夠64個(gè) ,比如說是30個(gè) 你卻多讀了34個(gè)

byte buffer[]=new byte[64];

int num;// 記錄用數(shù)組讀數(shù)據(jù)的個(gè)數(shù)

while((num=in.read(buffer,0,buffer.length))!=-1){

????????System.out.println(new String(buffer,0,num))//這個(gè)時(shí)候num就是30 了,就不會多讀了

}


說了半天,循環(huán)讀的時(shí)候,只是利用了一個(gè)字節(jié)數(shù)組,如果第一次讀滿了64個(gè),假如第二次讀30個(gè)

那么第二次字節(jié)數(shù)組中的字節(jié),除了新讀入的數(shù)據(jù),還有就是第一次的后34個(gè)。

如果不用num 控制,那就肯定多讀??!

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

?應(yīng)該是你的數(shù)組大小問題,試試把參數(shù)改為 file.length

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

舉報(bào)

0/150
提交
取消

利用字節(jié)輸入流,讀出的內(nèi)容多于原來的內(nèi)容

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

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

幫助反饋 APP下載

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

公眾號

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