[导入]Serialization(序列化) 示例


/*


下面的程序说明了怎样实现对象序列化和反序列化。它由实例化一个MyClass类的对象开始。该对象有三个实例变量,它们的类型分别是String,int和double。这是我们希望存储和恢复的信息。

FileOutputStream被创建,引用了一个名为“serial”的文件。为该文件流创建一个ObjectOutputStream。ObjectOutputStream 的writeObject( )方法用来序列化对象。对象的输出流被刷新和关闭。

然后,引用名为“serial”的文件创建一个FileInputStream类并为该文件创建一个ObjectInputStream类。ObjectInputStream 的readObject( )方法用来反序列化对象。然后对象输入流被关闭。

注意MyClass被定义成实现Serializable接口。如果不这样做,将会引发一个NotSerializableException异常。试图做一些把MyClass实例变量声明成transient的实验。那些数据在序列化过程中不被保存


*/


import java.io.*;class MyClass implements Serializable{ String s; int i; double d; public MyClass (String s,int i,double d){ this.s = s; this.i = i; this.d = d; } public String toString(){ return "s=" + s + "; i=" + i + "; d=" + d; }}class SerializationDemo{ public static void main(String[] args){ //Object serialization. try{ MyClass object1 = new MyClass("Evan",9,9.9e10); System.out.println("object1 : " +object1); FileOutputStream fos = new FileOutputStream("serial"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(object1); oos.flush(); oos.close(); }catch(Exception e){ System.out.println("Exception during serialization :" + e); System.exit(0); } //Object deserialization. try{ MyClass object2 ; FileInputStream fis = new FileInputStream("serial"); ObjectInputStream ois = new ObjectInputStream(fis); object2 = (MyClass)ois.readObject(); ois.close(); System.out.println("object2 : " +object2); }catch(Exception e){ System.out.println("Exception during serialization :" + e); System.exit(0); } }}






文章来源:[url=http://blog.163.com/ccbobo_cat/blog/static/320994622009616101541196]http://blog.163.com/ccbobo_cat/blog/static/320994622009616101541196[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值