在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异常。