Java ObjectOutputStream .writeUnshared (Object obj)

Syntax

ObjectOutputStream.writeUnshared(Object obj) has the following syntax.

public void writeUnshared(Object obj)   throws IOException

Example

In the following code shows how to use ObjectOutputStream.writeUnshared(Object obj) method.


/*from w  w w . j av  a 2s  .c  om*/
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

class Person implements Serializable {

  private String firstName;

  private String lastName;

  private int age;

  public Person() {
  }

  public String getFirstName() {
    return firstName;
  }

  public void setFirstName(String firstName) {
    this.firstName = firstName;
  }

  public String getLastName() {
    return lastName;
  }

  public void setLastName(String lastName) {
    this.lastName = lastName;
  }

  public int getAge() {
    return age;
  }

  public void setAge(int age) {
    this.age = age;
  }

  public String toString() {
    StringBuffer buffer = new StringBuffer();
    buffer.append(firstName);
    buffer.append("\n");
    buffer.append(lastName);
    buffer.append("\n");
    buffer.append(age);
    buffer.append("\n");

    return buffer.toString();
  }
}
public class Main {
  public static void main(String[] args) throws Exception {
    ObjectOutputStream outputStream = new ObjectOutputStream(new FileOutputStream("yourFile.dat"));

    Person person = new Person();
    person.setFirstName("A");
    person.setLastName("B");
    person.setAge(38);
    outputStream.writeObject(person);

    person = new Person();
    person.setFirstName("C");
    person.setLastName("D");
    person.setAge(22);
   
    outputStream.writeUnshared(person);

    outputStream.close();
  }
}