[填空题] 有如下代码段,请填写完整所缺的部分。 import java.util.Vector; import java.io.*; public class Test_Ser { public

17 查阅

[填空题] 有如下代码段,请填写完整所缺的部分。 import java.util.Vector; import java.io.*; public class Test_Ser { public static void main(String[] args) throws Exception {Vector v = new Vector(); //生成一个向量表v.add(new String("Test String")); //增加一个字符串对象FileOutputStream ostream = new FileOutputStream("d:\test.ser"); //构造文件输出流ObiectOutputStream p = 【9】 ; //绑定p.writeObject(v); //输出继承了串行化接口的类p.flush();p.close();ostream.close();v.clear(); //清空向量表,此时的v.size()应该为0FileInputStream istream=new FileInputStream("d:\test.set"); //构造文件输入流ObjectInputStream pr = new ObjectInputStream(istream); //绑定v = (Vector)pr.readObject();0//读入串行化的类istream.close();System.out.println("v.size()="+v.size()); //验证读入类的正确性System.out.println("v.get(0)="+(String)v.get(0)); } }

参考答案:

new ObjectOutputStream(ostream)

本题是考查对Vector类的使用。Vector类是继承了 Serializable接口的,这个接口就是实现串行化的接口。我们需要串行化的类其实只要简单地继承一下Serializable接口就可以进行保存传输工作。对象读出或者写入流的主要类有两个:ObjectOutputStream与ObjectInputStream。① ObjectOutputStream提供将对象写入输出流的writeObject方法。② ObjectInputStream提供从输入流中读出对象的readObject方法。注意:使用这些方法的对象必须被串行化,这非常重要。也就是说,这些类必须实现 Serializable接口。

计算机考试