ObjectOutputStream useProtocolVersion()方法

java.io.ObjectOutputStream.useProtocolVersion(int version) 将数据写入流时,此方法指定流协议版本才能使用。

这个程序提供了一个钩子,以便序列化的当前版本的格式是向后兼容以前版本的流格式写入。

1 语法

public void useProtocolVersion(int version)

2 参数

version:使用java.io.ObjectStreamConstants中的ProtocolVersion。

3 返回值

4 示例 

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * java.io.ObjectOutputStream.useProtocolVersion(int version)方法的例子
 */
import java.io.*;

public class Demo {
    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!

热门文章

优秀文章