已采納回答 / LioHD
private void writeObject(java.io.ObjectOutputStream s)throws java.io.IOException{ s.defaultWriteObject();//把虛擬機默認能序列化的元素 進行序列化 s.writeUTF(str); }private void readObject(java.io.ObjectInputStream s)throws java.io.IOException,ClassNotFoundException{ s.de...
2017-04-20
最新回答 / 慕粉2137351520
嘗試回答一下,首先是utf-16be編碼中英文都是兩個字節,那么就是根據指針兩個兩個字節編譯;utf-8編碼時中文占三個字節,英文占一個字節,設想一下,首先也是按照指針,應該有個先后編譯順序,假設英文優先,就是先嘗試編譯一個字節,若失敗,則嘗試編譯三個字節,成功則編譯成一個漢字,失敗則編譯成亂碼,循環下去,當然實際情況可能復雜的多,編碼的方式也就像是一個封裝,不用考慮太多。
2017-04-19
已采納回答 / 橡樹的綠葉
大哥 ?你遍歷都是同一個 也就是第一個 ??for(byte b3:bytes){} ?for(byte b2:bytes){} ??for(byte b:bytes){}
2017-04-18
已采納回答 / 海風3
一直循環著讀,比如你寫的byte為10,while循環讀取輸出一次,返回不是-1再次進入循環,知道in.read(buf, 0, buf.length)這個方法讀到文件最后,這個方法返回-1,循環結束。這種模式不是一直讀最后輸出,而是讀一點,然后輸出,在讀一點
2017-04-16