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

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

read(byte[] b,int off,int len)的返回值

老師的while((bytes=in.read(buf,0,buf.length))!=-1)這里應(yīng)該有點(diǎn)問(wèn)題,這時(shí)候read()返回的應(yīng)該是所讀的字節(jié)數(shù),是不是設(shè)置bytes++<=buf.length

正在回答

3 回答

read返回的確實(shí)是字節(jié)數(shù),但是讀到文件尾時(shí)就返回-1。

所以如果文件沒(méi)有被讀完,則返回讀取長(zhǎng)度而不是-1,while繼續(xù)執(zhí)行,循環(huán)利用buf。

如果文件被讀完,則返回-1,while循環(huán)結(jié)束。

-----------------------------------------------

如果按你說(shuō)的bytes++<=buf.length,那讀到文件尾時(shí)返回-1也小于buf.length,那循環(huán)還繼續(xù)做不就錯(cuò)了^_^

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

read

public int read(byte[]?b)
? ? ? ? throws IOException

從此輸入流中將最多 b.length 個(gè)字節(jié)的數(shù)據(jù)讀入一個(gè) byte 數(shù)組中。在某些輸入可用之前,此方法將阻塞。


覆蓋:

類 InputStream 中的 read

參數(shù):

b - 存儲(chǔ)讀取數(shù)據(jù)的緩沖區(qū)。

返回:

讀入緩沖區(qū)的字節(jié)總數(shù),如果因?yàn)橐呀?jīng)到達(dá)文件末尾而沒(méi)有更多的數(shù)據(jù),則返回 -1。

拋出:

IOException - 如果發(fā)生 I/O 錯(cuò)誤。

另請(qǐng)參見(jiàn):

InputStream.read(byte[], int, int)


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

weibo_肖邦在對(duì)我微笑_0

發(fā)錯(cuò)了,其實(shí)想發(fā)的是read public int read(byte[] b, int off, int len) throws IOException 這個(gè)方法 其實(shí)都沒(méi)關(guān)系,你看函數(shù)返回后面那一段,如果因?yàn)橐呀?jīng)到達(dá)文件末尾而沒(méi)有更多的數(shù)據(jù),則返回 -1。 就知道老師這樣寫是什么意思了
2016-12-16 回復(fù) 有任何疑惑可以回復(fù)我~
#2

weibo_肖邦在對(duì)我微笑_0 回復(fù) weibo_肖邦在對(duì)我微笑_0

而且如果按照你的想法 bytes++<=buf.length 循環(huán)一直會(huì)運(yùn)行到bytes等于byte[] buf[]定義時(shí)的長(zhǎng)度。 這是我的理解,具體會(huì)不會(huì)運(yùn)行到我沒(méi)試過(guò)。
2016-12-16 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

read(byte[] b,int off,int len)的返回值

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

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

幫助反饋 APP下載

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

公眾號(hào)

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