已采纳回答 / 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