java 如何反序列化_java序列化和java反序列化示例

import java.io.Serializable;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.ObjectOutputStream;

public class javaSerializable_fun {

/**

* java.io.Serializable 接口,类只有实现Serializable借口才能被序列化

* java.io.Externalizable接口,利用java的序列化和反序列化工具,很多存储和恢复对象的工作都可以自动完成。

* java.io.ObjectOutput接口,序列化传出, 继承了DataOutput接口并定义了一些方法,它支持对象序列化;

*   重点说明:在该类中,writeObject()方法是最重要的方法,用于对象序列化,如果对象包含其他的对象引用,则writeObject()方法地柜序列化这些对象;

* java.io.ObjectOutputStream类,负责向流中写入对象,构造方法:ObjectOutputStream(OutputStream out);

* java.io.ObjectInput接口,序列化传入。继承了DataInput接口并定义了一些方法,它支持对象序列化;

* ObjectInputStream类, 负责向从流中读取对象,构造方法:ObjectInputStream(InputStream out);

***/

public static void main(String[] args) {

try

{

//构造FileOutputStream对象

FileOutputStream f=new FileOutputStream("C:a.txt");

//构造ObjectOutputStream对象

ObjectOutputStream out=new ObjectOutputStream(f);

Customer customer=new Customer("bj",50);

//使用ObjectOutputStream对象的writeObject()方法进行序列化

out.writeObject(customer);

//关闭ObjectOutputStream对象

out.close();

//关闭FileOutputStream对象

f.close();

System.out.println("序列化完毕!");

}

catch(IOException e)

{

e.getStackTrace();

}

}

}

class Customer implements Serializable

{

private static final long serialVersionUID =1L;

private String name;

private int age;

public String getName()

{

return name;

}

public int getAge()

{

return age;

}

public Customer(String name,int age)

{

this.name=name;

this.age=age;

}

public String toString()

{

return "name="+ name +",age="+age;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值