[填空题] 下面程序段是创建一个Date类的对象并把它串行化保存到文件中,该对象表示的是运行时刻的日期及时间,请将程序补充完整。 import java.util.*; import java.io.

22 查阅

[填空题] 下面程序段是创建一个Date类的对象并把它串行化保存到文件中,该对象表示的是运行时刻的日期及时间,请将程序补充完整。 import java.util.*; import java.io.*; public class SerializeDate{ Date d; SerializeDate(){d=new Date();try{ FileOutputStream f=newFileOutputStream("date.ser"); ObjectOutputStream s=new ObjectOutputStream(f); ______ f.close();}catch(IOException e){ e.printStackTrace();} } public static void main(String args[]){SerializeDate b=new SerializeDate();System.out.println("The saved date is:"+b.d.toString()); } }

参考答案:

s.writeObject(d);

本题考查把一个对象写到一个流中。 这个操作比较简单,是通过调用 ObjectoutputStream类的writeObject()方法实现的。ObjectoutputStream类是一种过滤流类,因此,对象流必须在其他流的基础上进行构造。题目程序中SerializeDate类的构造方法SerializeDate()中,对象流s是在一个文件输出流上构造的,通过 s将一个Date类的对象串行化到一个名为date.ser中,具体是通过调用ObjectOutputStream类的方法 writeObject()将该对象写到对象输出流s中,而对象最终是保存在外存date.ser文件中的。

计算机考试