java序列化与ObjectOutputStream和ObjectInputStream的实例详解

java序列化与ObjectOutputStream和ObjectInputStream的实例详解

一个测试的实体类:

public class Param implements Serializable { 
 
  private static final long serialVersionUID = 5187074869820982336L; 
   
   
  private Integer param1; 
  private String param2; 
 
  public Integer getParam1() { 
    return param1; 
  } 
 
  public void setParam1(Integer param1) { 
    this.param1 = param1; 
  } 
 
  public String getParam2() { 
    return param2; 
  } 
 
  public void setParam2(String param2) { 
    this.param2 = param2; 
  } 
 
} 

 测试:

public class Main { 
 
  public static void main(String[] args) throws Exception { 
    SerializeParam(); 
     
    Param param = DeserializeParam(); 
    System.out.println(MessageFormat.format("param1={0},param2={1}", param.getParam1(), param.getParam2())); 
  } 
 
  /** 
   * 将实体类序列化到本地 
   * @throws FileNotFoundException 
   * @throws IOException 
   */ 
  private static void SerializeParam() throws FileNotFoundException, IOException { 
    Param param = new Param(); 
    param.setParam1(123); 
    param.setParam2("asdf"); 
     
    ObjectOutputStream oo = new ObjectOutputStream(new FileOutputStream( new File("E:/param.txt") )); 
    oo.writeObject(param); 
    System.out.println("Person对象序列化成功!"); 
    oo.close(); 
  } 
   
  /** 
   * 反序列化 
   * @return 
   * @throws Exception 
   * @throws IOException 
   */ 
  private static Param DeserializeParam() throws Exception, IOException { 
    ObjectInputStream ois = new ObjectInputStream(new FileInputStream( new File("E:/param.txt"))); 
    Param param = (Param) ois.readObject(); 
    System.out.println("Person对象反序列化成功!"); 
    ois.close(); 
    return param; 
  } 
 
} 

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望通过本文能帮助到大家,谢谢大家对本站的支持!