SE450: Serialization: Basics [9/32] Previous pageContentsNext page

An object which implements the Serializable interface can be written and read from an OutputStream and InputStream.

These stream objects must be wrapped inside either an ObjectOutputStream or ObjectInputStream.

These classes contain methods writeObject(Object):void and readObject():Object.

file:Main1.java [source] [doc-public] [doc-private]
01
02
03
04
05
06
07
08
09
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
41
package serialization;
import java.io.*;

public class Main1 {
  public static void main(String args[]) {
    try {
      ObjectOutputStream os
      = new ObjectOutputStream (new FileOutputStream("out.dat"));
      os.writeObject(new Entry("Save Me", 1));
      os.close();

      ObjectInputStream is
      = new ObjectInputStream (new FileInputStream("out.dat"));
      Object o = is.readObject();
      is.close();

      Entry e = (Entry) o;
      System.out.println("Entry restored from file is: " + e.toString());
    } catch (Exception e) { e.printStackTrace(); }
  }
}

class Entry implements Serializable {
  private static final long serialVersionUID = 2008L;
  private String message =  "";
  private int messageNumber = 0;

  public Entry(String message, int messageNumber) {
    this.message = message;
    this.messageNumber = messageNumber;
  }
  public String getMessage() {
    return message;
  }
  public int getMessageNumber() {
    return messageNumber;
  }
  public String toString() {
    return message +  " " + Integer.toString(messageNumber);
  }
}

Previous pageContentsNext page