課程
/后端開發(fā)
/Java
/文件傳輸基礎——Java IO流
字節(jié)流讀入得內(nèi)容多于或少于原來的內(nèi)容是怎么回事。我用的是?byte?buffer[]=new?byte[64];字節(jié)數(shù)組讀的
2016-10-02
源自:文件傳輸基礎——Java IO流 4-3
正在回答
肯定是 最后一次讀的時候,字節(jié)數(shù)不夠64個 ,比如說是30個 你卻多讀了34個
byte buffer[]=new byte[64];
int num;// 記錄用數(shù)組讀數(shù)據(jù)的個數(shù)
while((num=in.read(buffer,0,buffer.length))!=-1){
????????System.out.println(new String(buffer,0,num))//這個時候num就是30 了,就不會多讀了
}
說了半天,循環(huán)讀的時候,只是利用了一個字節(jié)數(shù)組,如果第一次讀滿了64個,假如第二次讀30個
那么第二次字節(jié)數(shù)組中的字節(jié),除了新讀入的數(shù)據(jù),還有就是第一次的后34個。
如果不用num 控制,那就肯定多讀啊!
?應該是你的數(shù)組大小問題,試試把參數(shù)改為 file.length
舉報
為您介紹IO流的使用,以及對象的序列化和反序列化的內(nèi)容
2 回答關于字符流的輸入輸出
4 回答讀到-1就結束,那么如果字節(jié)本身的內(nèi)容就是-1呢?
3 回答復制txt文件為什么輸出文件內(nèi)容顯示不出來
1 回答在IOUtiletest2時輸出結果好多字節(jié)多出來0fffffff
3 回答關于字符流的輸出問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2016-11-02
肯定是 最后一次讀的時候,字節(jié)數(shù)不夠64個 ,比如說是30個 你卻多讀了34個
byte buffer[]=new byte[64];
int num;// 記錄用數(shù)組讀數(shù)據(jù)的個數(shù)
while((num=in.read(buffer,0,buffer.length))!=-1){
????????System.out.println(new String(buffer,0,num))//這個時候num就是30 了,就不會多讀了
}
說了半天,循環(huán)讀的時候,只是利用了一個字節(jié)數(shù)組,如果第一次讀滿了64個,假如第二次讀30個
那么第二次字節(jié)數(shù)組中的字節(jié),除了新讀入的數(shù)據(jù),還有就是第一次的后34個。
如果不用num 控制,那就肯定多讀啊!
2016-10-05
?應該是你的數(shù)組大小問題,試試把參數(shù)改為 file.length