温馨提示×

Java中的Vector如何序列化

小樊
85
2024-08-02 17:58:11
栏目: 编程语言

在Java中,Vector类实现了Serializable接口,因此可以简单地使用Java的序列化机制对Vector对象进行序列化。

要序列化一个Vector对象,只需将其写入一个输出流,然后稍后从输入流中读取。示例代码如下:

import java.io.*;
import java.util.Vector;

public class SerializeVector {
    public static void main(String[] args) {
        Vector<String> vector = new Vector<>();
        vector.add("Element 1");
        vector.add("Element 2");
        vector.add("Element 3");

        try {
            // Serialize the Vector
            FileOutputStream fileOut = new FileOutputStream("vector.ser");
            ObjectOutputStream out = new ObjectOutputStream(fileOut);
            out.writeObject(vector);
            out.close();
            fileOut.close();
            System.out.println("Vector object has been serialized");

            // Deserialize the Vector
            FileInputStream fileIn = new FileInputStream("vector.ser");
            ObjectInputStream in = new ObjectInputStream(fileIn);
            Vector<String> deserializedVector = (Vector<String>) in.readObject();
            in.close();
            fileIn.close();

            // Print the deserialized Vector
            for (String element : deserializedVector) {
                System.out.println(element);
            }
        } catch (IOException | ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}

在上面的示例中,我们首先创建了一个Vector对象并添加了一些元素。然后我们将Vector对象序列化到文件"vector.ser"中,接着我们从文件中反序列化出Vector对象,并打印出元素。

需要注意的是,当序列化Vector对象时,Vector类及其元素也必须实现Serializable接口,否则会抛出NotSerializableException异常。

0