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!