Java的序列化

Java中的序列化可以将一个对象转换成一组byte对象,使这个对象在以后再被调用到时可以直接重组。

对象的序列化主要有两种用途:
  1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;
  2) 在网络上传送对象的字节序列。


对象序列化包括如下步骤:
  1)
让对象实现Serializable接口(Serializable接口是一个“标记接口”,不含任何方法);

2)创建一个对象输出流,它可以包装一个其他类型的目标输出流,如文件输出流;

3)通过对象输出流的writeObject()方法写对象。

File file=new File("input.dat");

file.createNewFile();

FileOutputStream fos=new FileOutputStream(file);

ObjectOutputStream oos=new ObjectOutputStream(fos);

oos.writeObject(s1);

oos.flush();

oos.close();

fos.close();


  对象反序列化的步骤如下:

1) 创建一个对象输入流,它可以包装一个其他类型的源输入流,如文件输入流;

  2) 通过对象输入流的readObject()方法读取对象。

FileInputStream fis=new FileInputStream(file);

ObjectInputStream ois=new ObjectInputStream(fis);

Student s2= (Student)ois.readObject();

ois.close();

fis.close();

另外,要注意,子类序列化,父类也必须序列化;父类序列化,所有子类都需要序列化。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值