Java ObjectInputStream .resolveObject (Object obj)

Syntax

ObjectInputStream.resolveObject(Object obj) has the following syntax.

protected Object resolveObject(Object obj)   throws IOException

Example

In the following code shows how to use ObjectInputStream.resolveObject(Object obj) method.


import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
/*from   w ww .j  a  v  a 2s.co m*/
public class Main extends ObjectInputStream {

  public Main(InputStream in) throws IOException {
    super(in);
  }

  public static void main(String[] args) throws Exception {

    String s = "Hello World from java2s.com";

    FileOutputStream out = new FileOutputStream("test.txt");
    ObjectOutputStream oout = new ObjectOutputStream(out);

    // write something in the file
    oout.writeUTF(s);
    oout.flush();

    // create an ObjectInputStream for the file we created before
    Main ois = new Main(new FileInputStream("test.txt"));

    // enable object resolving
    ois.enableResolveObject(true);

    // get the class for string and print the name
    System.out.println(ois.resolveObject(ois.readUTF()));
    ois.close();
  }
}

The code above generates the following result.