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

时间:2022-06-16 04:28:55

java序列化ObjectOutputStreamObjectInputStream的实例详解

一个测试的实体类:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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;
  }
 
}

 测试:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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;
  }
 
}

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

原文链接:http://hejiawangjava.iteye.com/blog/2393589