对象的序列化和反序列化
1)对象序列化,就是将Object对象转换成byte序列,反之叫对象的反序列化。
2)序列化流(ObjectOutputStream),是字节的过滤流—— writeObject()方法
反序列化流(ObjectInputStream)—— readObject()方法
3)序列化接口(Serializable)
对象必须实现序列化接口,才能进行序列化,否则将出现异常。
注:这个接口,没有任何方法,只是一个【标准】
一、最基本的序列化和反序列过程
序列化和反序列都是以Object对象进行操作的,这里通过一个简单的案例来给大家演示一下对象序列化和反序列化的过程。
1)新建一个Student类(测试类)
注意:需要实现序列化接口的类才能进行序列化操作!!
1 @SuppressWarnings("serial") 2 public class Student implements Serializable{ 3 private String stuno;//id 4 private String stuna;//姓名 5 private int stuage;//年龄 6 public String getStuno() { 7 return stuno; 8 } 9 public void setStuno(String stuno) { 10 this.stuno = stuno; 11 } 12 public String getStuna() { 13 return stuna; 14 } 15 public void setStuna(String stuna) { 16 this.stuna = stuna; 17 } 18 public Student() { 19 super(); 20 // TODO Auto-generated constructor stub 21 } 22 public Student(String stuno, String stuna, int stuage) { 23 super(); 24 this.stuno = stuno; 25 this.stuna = stuna; 26 this.stuage = stuage; 27 } 28 @Override 29 public String toString() { 30 return "Student [stuno=" + stuno + ", stuna=" + stuna + ", stuage=" + stuage + "]"; 31 } 32 public int getStuage() { 33 return stuage; 34 } 35 public void setStuage(int stuage) { 36 this.stuage = stuage; 37 } 38 }