已采纳回答 / 好帮手慕珊
写入顺序和读取顺序一致即可,见下面的代码,在老师代码的基础上加了一个age1属性,用transient修饰package com.imooc.io;import java.io.Serializable;public class Student implements Serializable{ private String stuno; private String stuname; //该元素不会进行jvm默认的序列化,也可以自己完成这个元素的序列化 private transient int stua...
2014-11-18
最赞回答 / 小王子抓猫咪
楼上的回答不正确,正确的答案:int是4个字节,long和double都是8个字节。writeChars方法采用UTF16编码,一个汉字是2个字节。writeUTF方法采用UTF8编码,一个汉字是3个字节。所以计算出34个字节,那么多余的2个字节是从哪里来的呢?告诉你,是从WriteUTF方法得来的2个字节。请看API:void writeUTF(String s) throws IOException将表示长度信息的两个字节写入输出流,后跟字符串 s 中每个字符的 UTF-8 修改版表示形式。如果 s ...
2014-11-02