/*
*java简单序列化
*/
public class Main{
public static void main(String[] args){
File file = new File("person.out");
try{
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(file));
Person person = new Person("John",101,Gender.MALE);
out.writeObject(person);
out.close();
System.out.println(Gender.MALE);
ObjectInputStream oin = new ObjectInputStream(new FileInputStream(file));
Object newPerson = oin.readObject();
oin.close();
System.out.println(newPerson);
}catch(Exception e){
e.printStackTrace();
}
}
}
enum Gender{
MALE,FEMALE
}
class Person implements Serializable{
private String name=null;
private Integer age=null;//transient默认序列化忽略该字段
private Gender gender=null;
public Person(){
System.out.println("none-argconstructor");
}
public Person(String name,Integer age,Gender gender){
System.out.println("argconstructor");
this.name=name;
this.age=age;
this.gender=gender;
}
@Override
public String toString(){
return"["+name+","+age+","+gender+"]";
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public Integer getAge(){
return age;
}
public void setAge(Integer age){
this.age=age;
}
public Gender getGender(){
return gender;
}
public void setGender(Gender gender){
this.gender=gender;
}
}