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