Java ObjectOutputStream .useProtocolVersion (int version)

Syntax

ObjectOutputStream.useProtocolVersion(int version) has the following syntax.

public void useProtocolVersion(int version)   throws IOException

Example

In the following code shows how to use ObjectOutputStream.useProtocolVersion(int version) method.


import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.ObjectStreamConstants;
import java.io.Serializable;
/*from  w ww. java  2  s.  c  o m*/
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.writeObject(person);
    
    outputStream.useProtocolVersion(ObjectStreamConstants.PROTOCOL_VERSION_1);

    
    outputStream.close();
  }
}