Java ObjectOutputStream useProtocolVersion()方法(带示例)

ObjectOutputStream类useProtocolVersion()方法

  • useProtocolVersion()方法在java.io包中可用。

  • useProtocolVersion()方法用于表示在编写流时要使用的给定流协议版本。

  • useProtocolVersion()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名访问该方法,则会收到错误消息。

  • useProtocolVersion()方法在使用协议版本时可能会引发异常。

    • IOException:在写入输出流时遇到任何输入/输出错误时,可能引发此异常。

    • IllegalStateException:序列化任何对象后调用此方法时,可能引发此异常。

    • IllegalArgumentException:如果给定参数无效,则可能引发此异常。

语法:

    public void useProtocolVersion(int ver);

参数:

  • int ver –表示要从java.io的ObjectStreamConstants使用的协议版本。

返回值:

此方法的返回类型为void,不返回任何内容。

示例

//Java程序演示示例 
// of void useProtocolVersion(int ver) method of //ObjectOutputStream---

import java.io.*;

public class UseProcolVersion {
 public static void main(String[] args) throws Exception {
  //实例化ObjectOutputStream,ObjectInputStream- 
  //FileInputStream和FileOutputStream-
  FileOutputStream file_out_stm = new FileOutputStream("D:\\includehelp.txt");
  ObjectOutputStream obj_out_stm = new ObjectOutputStream(file_out_stm);
  FileInputStream file_in_stm = new FileInputStream("D:\\includehelp.txt");
  ObjectInputStream obj_in_stm = new ObjectInputStream(file_in_stm);

  //通过使用useProtocolVersion()方法是指定
  //流使用的协议版本
  obj_out_stm.useProtocolVersion(ObjectStreamConstants.PROTOCOL_VERSION_1);

  //通过使用writeByte()方法是
  //将字节写入流		
  obj_out_stm.writeObject("Java Programming!!!");

  //通过使用readByte()方法是 
  //读取字节并将其转换为
  //字符
  String ch = (String) obj_in_stm.readObject();
  System.out.println("ch: " + ch + " ");

  //通过使用close()方法是 
  //关闭所有流 
  System.out.println("Stream Shutdown... ");

  file_in_stm.close();
  file_out_stm.close();
  obj_in_stm.close();
  obj_out_stm.close();
 }
}

输出结果

ch: Java Programming!!! 
Stream Shutdown...