package com.hfxt;
import java.io.Serializable;
//必须继承serializable接口
public class Student implements Serializable {
private String name;
private int age;
private String sex;
private transient String password; //transient屏蔽敏感字段
public Student(){}
public Student(String name,int age,String sex,String password){
this.name = name;
this.age = age;
this.sex = sex;
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
-------------------------------------------------
package com.hfxt;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
//序列化(写)和反序列化(读)
public class ObjectPro {
public static void main(String[] args) {
Student student = new Student("方琛",25, "男","123456");
FileOutputStream fos = null;
ObjectOutputStream oos = null;
FileInputStream fis = null;
ObjectInputStream ois = null;
try {
//序列化
fos = new FileOutputStream("F:/fangchen/fangchen.txt");
oos = new ObjectOutputStream(fos);
oos.writeObject(student);
//反序列化
fis = new FileInputStream("F:/fangchen/fangchen.txt");
ois = new ObjectInputStream(fis);
Student stu1=(Student)ois.readObject();
System.out.println("反序列化信息:"+stu1.getName()+"-"+stu1.getAge()+"-"+stu1.getSex()+"-"+stu1.getPassword());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}finally{
try {
ois.close();
fis.close();
oos.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}