已采纳回答 / godspeed_26
所有的文件都可以理解为是byte[]。而1个byte占1个字节,一个Int是4个字节。所以说你写进去的东西将会出现乱码,除非你已readInt().或者已write()写read()读,总之你的输入和读取的类型要相同。
2015-11-04
最赞回答 / leaf_xiao
String 有很多构造方法的,输出结果乱码的话,你可以指定一下字符集编码。<...code...>如果还是乱码,可以把 UTF-8,换成其他字符集编码,比如GBK。
2015-11-02
其实jdk文档写得清清楚:“在序列化和反序列化过程中需要特殊处理的类必须使用下列准确签名来实现特殊方法: private void writeObject(java.io.ObjectOutputStream out)throws IOException
private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException;
private void readObjectNoData() throws ObjectStreamException;”
private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException;
private void readObjectNoData() throws ObjectStreamException;”
2015-11-01
最新回答 / leaf_xiao
read() 返回的是 读入缓存的总字节数;如果因为已到达流末尾而不再有数据可用,则返回 -1。返回 100,说明已经读取了100个字节数到缓存数组中;返回-1,说明已经读取到了流末尾,没有数据可读了。上面代码,第一次已经一次性把流内的字节读完了,所以后面都是返回-1。
2015-10-30