//1.创建一个实体类对象并实现序列化接口(Serializable)
public class Person implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private String name;//姓名
private char sex;//性别
private int weight;
private int height;
private String birth;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public int getWeight() {
return weight;
}
public void setWeight(int weight) {
this.weight = weight;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
public String getBirth() {
return birth;
}
public void setBirth(String birth) {
this.birth = birth;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
@Override
public String toString() {
return "Person [name=" + name + ", sex=" + sex + ", weight=" + weight + ", height=" + height + ", birth="
+ birth + "]";
}
}
//2.将Person对象序列化存入本地磁盘
public class PersonSerialize {
@SuppressWarnings("resource")
public static void main(String[] args) {
FileOutputStream fos;
try {
fos = new FileOutputStream("d://1.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
Person person = new Person();
person.setName("张三");
person.setSex('男');
person.setHeight(180);
person.setWeight(60);
person.setBirth("1978-06");
oos.writeObject(person);
oos.flush();
oos.close();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
//3.将序列化以后的Person从本地磁盘中读取出来
public class PersonDeserialization {
@SuppressWarnings("resource")
public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("d://1.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
Person person = (Person)ois.readObject();
System.out.println(person.toString());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
控制台打印出来的内容:
Person [name=张三, sex=男, weight=60, height=180, birth=1978-06]
Java序列化与反序列化
最新推荐文章于 2024-08-17 01:04:49 发布