对象流OOS和OIS

ObjectOutputStream:对对象进行序列化的输出流,即将给定的对象转换为一组字节后写出的高级流

构造方法:

ObjectOutputStream(OutputStream  out)


void writeObject(Object  o):将对象序列化,然后写出


ObjectInputStream:将一组字节转换为对应对象读取的输入流(反序列化)

构造方法:

ObjectIntputStream(InputStream  in)


Object  readObject():从流中读取字节并转换为对象


一个对象要想通过ObjectOutputStream进行序列化,那么该对象所属的类必须实现Serializable接口。

该接口没有定义任何抽象方法,实现该接口仅仅用于标识当前类的实例可以被序列化。


在ObjectOutputStream序列化时,被transient关键字修饰的值将被忽略


当类的属性增加、修改时,若版本号未变,那么序列化时会尽可能兼容现有的版本,若版本号发生变化时,那么反序列化时会抛出异常(不写也将抛出异常)

private static final long serialVersionUID = 1L;

你可能感兴趣的:(Serializable,transient,对象流,OIS,oos)