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();

你可能感兴趣的:(JAVA序列化流(数据持久化的手段))