課程
/后端開發(fā)
/Java
/文件傳輸基礎(chǔ)——Java IO流
int bytes=in.read(buf,0,buf.length);
for(int i=0;i<bytes;i++){
i小于bytes?為什么不是小于bytes的長度?
2016-08-25
源自:文件傳輸基礎(chǔ)——Java IO流 4-2
正在回答
先說說你的這個問題,?為什么不是小于bytes的長度?
int bytes=in.read(buf,0,buf.length);?這里bytes返回的是int類型的整數(shù)而不是數(shù)組!沒有.length這一說
你其實想說的是為什么不是小于buf[i]這個數(shù)組的長度吧...是因為老師設(shè)置了byte[] buf =new byte[20*1024],有可能讀取出來的字節(jié)并沒有把這個數(shù)組裝滿,所以這里的i只能小于讀出來的有效字節(jié)長度,而這個讀出來的有效字節(jié)長度就是int bytes=in.read(buf,0,buf.length);
yuhq 提問者
自己打印了一下System.out.print("byte的數(shù)值是:"+bytes);確實是有效字節(jié)的長度
還在嗎?
1.看你定義的bytes 是什么類型的?int型的,它代表的就是長度2.其次此read()方法返回的就是所讀取的字節(jié)的長度
舉報
為您介紹IO流的使用,以及對象的序列化和反序列化的內(nèi)容
1 回答這是為什么呢?
3 回答遍歷為什么是這樣。
2 回答為什么我輸出的是這東西?
1 回答為什么我這樣做出來的是亂碼
2 回答0xf為什么是1
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-09-01
先說說你的這個問題,?為什么不是小于bytes的長度?
int bytes=in.read(buf,0,buf.length);?這里bytes返回的是int類型的整數(shù)而不是數(shù)組!沒有.length這一說
你其實想說的是為什么不是小于buf[i]這個數(shù)組的長度吧...是因為老師設(shè)置了byte[] buf =new byte[20*1024],有可能讀取出來的字節(jié)并沒有把這個數(shù)組裝滿,所以這里的i只能小于讀出來的有效字節(jié)長度,而這個讀出來的有效字節(jié)長度就是int bytes=in.read(buf,0,buf.length);
2016-10-06
自己打印了一下System.out.print("byte的數(shù)值是:"+bytes);確實是有效字節(jié)的長度
2016-09-12
還在嗎?
2016-08-25
1.看你定義的bytes 是什么類型的?int型的,它代表的就是長度2.其次此read()方法返回的就是所讀取的字節(jié)的長度