JAVA序列化流(数据持久化的手段)

是将短期存储的数据实现长期存储

数据存储的分类:

  1. 短期存储:存放在内存中,随着程序的关闭而释放----对象,集合,变量,数组
  2. 长期存储:存放在磁盘中,即使程序关闭了,数据仍然存在---文件

序列化:从内存放入磁盘---可以实现数据的长久保存(数据持久化的手段)

反序列化:从磁盘放入内存

进行序列化的步骤:

任何的短期存储都可以序列化,通过对象的序列化

  1. 创建一个类
  2. 使用对应的流将对象存到磁盘文件中---序列化 ObjectOutputStream
  3. 使用对应的流将对象从磁盘中取出,放回内存---反序列化 ObjectInputStream
  4. 关闭流
  •  Serializable:

一个类如果没有实现Serializable进行序列化会报异常

  •  实现Serializable的接口的类可以达到的目的:
  1. 可以进行序列化
  2. 进行序列化的类的元素都必须支持序列化
  3. 接口本身没有方法或字段,只是用来表示可序列化的寓意
  •  写出---序列化
  • 创建序列化流并关联文件
ObjectOutputStream objectOutputStream =new ObjectOutputStream(new FileOutputStream("temp4.txt"));
    
  • 调用方法实现序列化(序列化后的内容不能直接查看,要想查看要进行反序列化)
objectOutputStream.writeObject(new Person("bingbign",23,"女"));
	
	objectOutputStream.close();
  •  读入---反序列化
ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream("temp4.txt"));
Object object = objectInputStream.readObject();
//向下转型
Person person = (Person)object;
System.out.println(person);
objectInputStream.close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值