填空题
下面程序段是从对象流中读取对象,请将程序补充完整。
importjava.util.*;
importjava.io.*;
publiclass UnSerializaDate{
Dated=null;
UnSerializaDate(){
try{
FilelnputStreamf=newFilelnputStream("date.ser");
ObjectlnputStreams=newObjectlnputStream(f);
f.close();
}
catch(Exceptione){
e.printStackTrace();
}
}
public staticvoidmain(Stringargs[]){
publicstaticvoidmain(Stringargs[]){
UnSerializaDatea=newUnSerializaDate();
System.out.println("Thedatereadis:"+a.d.toString());
}
}
【正确答案】
1、d=(Date)s.readObject()
【答案解析】[解析] 本题考查对象流的读取。对象输入流ObjectlnputStream的对象s是以一个文件输入流为基础构造的。程序中使用ObjectlnputStream的readObject()方法从对象流s中读取Date类型的对象。读该对象时要按照它们写入的顺序读取。因为readObject()返回的是Object类型的对象,所以程序中使用了强制类型转化,将所读取对象的类型转换为 Date类型。