java中的Serializable接口的作用

 所谓的Serializable,就是java提供的通用数据保存和读取的接口。至于从什么地方读出来和保存到哪里去都被隐藏在函数参数的背后了。这样子,任何类型只要实现了Serializable接口,就可以被保存到文件中,或者作为数据流通过网络发送到别的地方。也可以用管道来传输到系统的其他程序中。这样子极大的简化了类的设计。只要设计一个保存一个读取功能就能解决上面说得所有问题。

程序名称:SerializationDemo.java
程序主题:实现对象的序列化和反序列化
程序说明:该程序由实例化一个MyClass类的对象开始,该对象有三个实例变量,类型分别为String、int、double,是希望存储和恢复的信息

package example;
import java.io.*;

public class SerializationDemo{

    public static void main(String args[]){

//Object serialization

        try{
            MyClass object1=new MyClass("Hello",-7,2.7e10);
            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 deserialization:"+e);
            System.exit(0);
        }

    }


}

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;
}

}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值