**
java对象序列化保存到文件
**
保存到数据库看这里java对象序列化保存到数据库
通过网络传输看这里java对象序列化通过网络传输
先来看文件结构,如下图
前面的三个文件 可以自己建,也可以不用建,代码执行时如果找不到这三个文件会自动生成。不过这里有个编码问题,三个文件的应该是同一种编码的,但是我这里只可以查看student.ser,这个不会出现乱码,其他两个会出现乱码,看不了,尝试了改变编码格式也没有用。
首先说一下需要序列化的Student类和Family类,Student里面包含Family的对象,保存到文件和网络传输只是对Student对象进行,保存到数据库才对Family对象进行序列化。
下面上代码:
Student.java
package com.KingSSM.serialization;
import java.io.Serializable;
/**
* @auther: KingSSM
* @creat: 2019/8/24 12:56
* @Description:
*/
public class Student implements Serializable {
private static final long serialVersionUID = 1L;
private String strID;
private String strName;
private String chrSex;
private int intAge;
private transient int intGrade;
private Family family;
public String getStrID() {
return strID;
}
public void setStrID(String strID) {
this.strID = strID;
}
public String getStrName() {
return strName;
}
public void setStrName(String strName) {
this.strName = strName;
}
public String getChrSex() {
return chrSex;
}
public void setChrSex(String chrSex) {
this.chrSex = chrSex;
}
public int getIntAge() {
return intAge;
}
public void setIntAge(int intAge) {
this.intAge = intAge;
}
public int getIntGrade() {
return intGrade;
}
public void setIntGrade(int intGrade) {
this.intGrade = intGrade;
}
public Family getFamily() {
return family;
}
public void setFamily(Family family) {
this.family = family;
}
public Student(){
super();
}
public Student(String strID, String strName, String chrSex, int intAge, int intGrade, Family family) {
this.strID = strID;
this.strName = strName;
this.chrSex = chrSex;
this.intAge = intAge;
this.intGrade = intGrade;
this.family = family;
}
@Override
public String toString() {
return "Student{" +
"strID='" + strID + '\'' +
", strName='" + strName + '\'' +
", chrSex=" + chrSex +
", intAge=" + in