java实现序列化的接口,Java中实现序列化的两种方式 Serializable 接口和 Externalizable接口...

方法一:

实现Serializable接口,这个我就不多说了

方法二:

实现Externalizable接口:

例子:

packagedemo;importjava.io.Externalizable;importjava.io.IOException;importjava.io.ObjectInput;importjava.io.ObjectOutput;public class XXS implementsExternalizable{privateString name;private intage;publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}public intgetAge() {returnage;

}public void setAge(intage) {this.age =age;

}public void writeExternal(ObjectOutput out) throwsIOException {

out.writeObject(this);

}public void readExternal(ObjectInput in) throwsIOException,

ClassNotFoundException {

in.readObject();

}

}

测试:

importjava.io.FileOutputStream;importjava.io.ObjectOutputStream;public classDemo11 {public static void main(String[] args) throwsException {

XXS xxs=newXXS();

xxs.setName("你好");

xxs.setAge(10);

ObjectOutputStream dos=new ObjectOutputStream(new FileOutputStream("xx.txt"));

dos.writeObject(xxs);

dos.close();

}

}

一些api:

Externalizable 实例类的唯一特性是可以被写入序列化流中,该类负责保存和恢复实例内容。 若某个要完全控制某一对象及其超类型的流格式和内容,则它要实现 Externalizable 接口的 writeExternal 和 readExternal 方法。这些方法必须显式与超类型进行协调以保存其状态。这些方法将代替定制的 writeObject 和 readObject 方法实现。

writeExternal(ObjectOutputout)

该对象可实现 writeExternal 方法来保存其内容,它可以通过调用 DataOutput 的方法来保存其基本值,或调用

ObjectOutput 的 writeObject 方法来保存对象、字符串和数组。

readExternal(ObjectInputin)

对象实现 readExternal 方法来恢复其内容,它通过调用 DataInput 的方法来恢复其基础类型,调用

readObject 来恢复对象、字符串和数组。

ObjectInput:

ObjectInput 扩展 DataInput 接口以包含对象的读操作。DataInput 包括基本类型的输入方法;ObjectInput 扩展了该接口,以包含对象、数组和 String 的输出方法。

原文:http://www.cnblogs.com/aigeileshei/p/5855823.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值