对象的输入输出流 : 主要的作用是用于写入对象信息与读取对象信息。 对象信息一旦写到文件上那么对象的信息就可以做到持久化了
对象的输出流: ObjectOutputStream
对象的输入流: ObjectInputStream
使用:
对象的输出流将指定的对象写入到文件的过程,就是将对象序列化的过程,对象的输入流将指定序列化好的文件读出来的过程,就是对象反序列化的过程。既然对象的输出流将对象写入到文件中称之为对象的序列化,那么可想而知对象所对应的class必须要实现Serializable接口。(查看源码可得知:Serializable接口没有任何的方法,只是作为一个标识接口存在)。
1、将User类的对象序列化
class Student implements Serializable{//必须实现Serializable接口
String sid;
String sname;
String sex;
}
//序列化
@RequestMapping("firstserlizable")
public void firstserlizable() throws Exception {
System.out.println("aaaaaaaaaaaaaaaa");
File file = new File("E:\\aa.txt");
FileOutputStream fileout = new FileOutputStream(file);
ObjectOutputStream out = new ObjectOutputStream(fileout) ;
out.writeObject(new Student("aaa","1"));
out.close();
}
//反序列化
@RequestMapping("refirstserlizable")
public void refirstserlizable() throws Exception {
File file = new File("E:\\aa.txt");
FileInputStream filein = new FileInputStream(file);
ObjectInputStream in = new ObjectInputStream(filein);
Student st= (Student) in.readObject();
System.out.println(st);
in.close();
}