課程
/后端開發
/Java
/文件傳輸基礎——Java IO流
第二個方法有問題,if(buf[i]<=0xf)這句有問題,運行結果和老師的不一樣,會出現0ce ?0ca ?0d1這種情況,請老師回答下這個問題
2015-08-01
源自:文件傳輸基礎——Java IO流 4-2
正在回答
將判斷條件寫為if((buf[i] &0xff)<= 0xf)。這可能是因為buf[i]取到的數不止八位,這樣buf[i]可能是負數了,所以這個判斷條件成立了
漠其世
逆天子陸離 提問者
有可能是你的文件是utf-8包含BOM頭格式的,這樣前3個字節是ef,ee,bf,所以處理的時候會出現為第一個字節為-17的異常情況,就是這個問題
追問:
為什么buf[i]取到的數不止八位呢? 不是字節數組么?
舉報
為您介紹IO流的使用,以及對象的序列化和反序列化的內容
8 回答FileOutputStream構造方法中的第二個參數
2 回答第二個File 里好像沒有引號
1 回答方法一和方法二同時運行時方法二只用了16毫秒,當我單獨運行方法二時都是24左右毫秒,這是為什么???
2 回答.write()方法的寫入問題
2 回答關于write()方法的append問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-08-10
將判斷條件寫為if((buf[i] &0xff)<= 0xf)。這可能是因為buf[i]取到的數不止八位,這樣buf[i]可能是負數了,所以這個判斷條件成立了
2015-10-14
有可能是你的文件是utf-8包含BOM頭格式的,這樣前3個字節是ef,ee,bf,所以處理的時候會出現為第一個字節為-17的異常情況,就是這個問題
2015-09-02
追問:
為什么buf[i]取到的數不止八位呢? 不是字節數組么?