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

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

請問一個(gè)關(guān)于視頻中while的問題

int bytes = 0;
?? ??? ?int j = 1;

while((bytes = in.read(buf,0,buf.length)) != -1){
?? ??? ??? ?for(int i = 0 ; i < bytes ; i++){
?? ??? ??? ??? ?System.out.print(Integer.toHexString(buf[i] & 0xff) + "? ");
?? ??? ??? ??? ?if(j++%10 == 0){
?? ??? ??? ??? ??? ?System.out.println();
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ?}

這個(gè)返回的bytes,在讀取的文件確定的時(shí)候,應(yīng)該是個(gè)固定的值吧?

那么視頻中的循環(huán)為什么不會(huì)發(fā)生死循環(huán)?

正在回答

1 回答

不是固定的值,如果有數(shù)據(jù),就是讀取的字節(jié)數(shù),如果沒數(shù)據(jù),就是-1


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

a4500 提問者

讀取的字節(jié)數(shù)應(yīng)該就是buf.length或者是文件字節(jié)數(shù)吧, 比如文件有imooc五個(gè)字節(jié),返回的bytes應(yīng)該為5,那么while循環(huán)如何停止?
2015-04-07 回復(fù) 有任何疑惑可以回復(fù)我~
#2

好幫手慕珊 回復(fù) a4500 提問者

bytes是實(shí)際讀取到的字節(jié)數(shù),如果沒有讀到數(shù)據(jù)bytes就為-1,循環(huán)就停止了
2015-04-07 回復(fù) 有任何疑惑可以回復(fù)我~
#3

a4500 提問者 回復(fù) 好幫手慕珊

這個(gè)我知道,不過bytes = in.read(buf,0,buf.length) 這段話是怎么執(zhí)行的呢?如果一個(gè)imooc.txt中只有imooc五個(gè)字符, bytes=5才對,那么while(5 != -1)循環(huán)不就沒辦法停止了嗎?
2015-04-07 回復(fù) 有任何疑惑可以回復(fù)我~
#4

a4500 提問者 回復(fù) 好幫手慕珊

剛剛又想了想,是不是一次能讀完的話,就是先返回一個(gè)int,到下一次循環(huán)的時(shí)候再返回-1, 如果buf[]數(shù)組容量不足,那么就多次循環(huán),直到讀完整個(gè)文件,讀完之后再返回-1
2015-04-07 回復(fù) 有任何疑惑可以回復(fù)我~
#5

langren1992 回復(fù) a4500 提問者

下一次讀取時(shí),就到了文件末尾,于是bytes=-1,循環(huán)結(jié)束
2015-08-10 回復(fù) 有任何疑惑可以回復(fù)我~
#6

慕粉3727206

每次循環(huán)byte的值會(huì)和之前的值相加嗎?
2016-09-01 回復(fù) 有任何疑惑可以回復(fù)我~
查看3條回復(fù)

舉報(bào)

0/150
提交
取消

請問一個(gè)關(guān)于視頻中while的問題

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

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

幫助反饋 APP下載

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

公眾號

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