Java.io.ObjectOutputStream.useProtocolVersion()方法实例
java.io.ObjectOutputStream.useProtocolVersion(int version) 方法指定流的协议版本写入流时使用。这个程序提供了一个钩子,以便序列化的当前版本的格式是向后兼容以前版本的流格式写入。
声明
以下是java.io.ObjectOutputStream.useProtocolVersion()方法的声明
public void useProtocolVersion(int version)
参数
-
version -- 从java.io.ObjectStreamConstants中使用ProtocolVersion。
返回值
此方法没有返回值。
异常
-
IllegalStateException -- 如果调用任何对象都被序列化之后。
-
IllegalArgumentException --如果无效的版本传入
-
IOException -- 如果出现I / O错误
例子
下面的示例演示java.io.ObjectOutputStream.useProtocolVersion()方法的用法。
package com.yiibai; import java.io.*; public class ObjectOutputStreamDemo { public static void main(String[] args) { Object s = "Hello World!"; Object s2 = "Bye World!"; try { // create a new file with an ObjectOutputStream FileOutputStream out = new FileOutputStream("test.txt"); ObjectOutputStream oout = new ObjectOutputStream(out); // change protocol version oout.useProtocolVersion(ObjectStreamConstants.PROTOCOL_VERSION_1); // write something in the file oout.writeObject(s); oout.writeObject(s2); // close the stream oout.close(); // create an ObjectInputStream for the file we created before ObjectInputStream ois = new ObjectInputStream(new FileInputStream("test.txt")); // read and print a string System.out.println("" + (String) ois.readObject()); System.out.println("" + (String) ois.readObject()); } catch (Exception ex) { ex.printStackTrace(); } } }
让我们编译和运行上面的程序,这将产生以下结果:
Hello World! Bye World!