首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请完成程序,首先由一个类simple实现Serializable接口,并有三个成员变量,分别为int型、double型和String型,可以用toString的方法显示这三个成员变量。在main方法中创建这个simple的持久对象,根据用户在命令行输入的三
请完成程序,首先由一个类simple实现Serializable接口,并有三个成员变量,分别为int型、double型和String型,可以用toString的方法显示这三个成员变量。在main方法中创建这个simple的持久对象,根据用户在命令行输入的三
admin
2009-12-22
95
问题
请完成程序,首先由一个类simple实现Serializable接口,并有三个成员变量,分别为int型、double型和String型,可以用toString的方法显示这三个成员变量。在main方法中创建这个simple的持久对象,根据用户在命令行输入的三个参数来设定其中成员变量的值。然后,将这个对象写入名为TheSerial.data的文件中,并显示成员变量。最后从文件TheSerial.data中读出三个成员变量并显示出来。
注意:请勿修改main()主方法和其他已有语句内容,仅在横线处填入适当语句。
import java.io.*;
class TheSerial implements Serializable
{
private int intvalue;
private double doublevalue;
private String string;
The Serial ()
{
intvalue=123;
doublevalue=12.34;
string="Serialize Test";
}
public void setDouble(double d)
{
doublevalue=d;
}
public void setInt(int i)
{
intvalue=i;
}
public void setString(String s)
{
string=s;
}
public String to String()
{
return("int="+intvalue+" double="+doublevalue+" string="+string);
}
}
public class simple
{
public static void main(String[] args)
{
The Serial e1=new TheSerial();
TheSerial e2;
try
{
e1.setInt(Integer.parseInt(args[0]));
e1.setDouble(Double.parseDouble(args[1]));
e1.setString(args[2]);
}
catch(Exception e)
{
e1.setString(e.getMessage());
}
System.out.println(e1);
try
{
FileOutputStream oS=new FileOutputStream("TheSerial.data");
ObjectOutputStream oOS=new ObjectOutputStream(oS);
______;
}
catch(IOException ioException)
{
System.out.println (ioException.getMessage ());
}
try
{
FileInputStream iS=new FileInputStream("TheSerial.data");
ObjectInputStream oIS=new ObjectInputStream(iS);
______;
System.out.println(e2);
}
catch(IOException ioException)
{
System.out.println(ioException.getMessage());
}
catch(ClassNotFoundException cnfException)
{
System.out.println(cnfException.getMessage());
}
}
}
选项
答案
oOs.writeObject(e1) e2=(TheSerial)oIS.readObject()
解析
本题考查知识点:串行化要领和目的、串行化方法、基于文本的应用。解题思路:本题主要考查串行化相关的方法和实现。解题中首先要掌握串行化的基本过程和反串行化的过程。串行化过程首先要创建一个FileOutputStream,通过该类的实例对文件进行访问,然后创建一个ObjectOutputStream对象,通过writeObject()方法来实现对象的序列化。第1个空就是使用writeObject()实现序列化。反序列化过程中用FileInputStream对象建立读取文件的连接,并使用该对象创建一个ObjectInputSream实例的readObject()方法就可以实现对象的反序列化。第2个空就是使用readObject()实现反序列化。
转载请注明原文地址:https://kaotiyun.com/show/Scnp777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
将当前表单从内存中释放的正确语句是
假设表文件TEST.DBF已经在当前工作区打开,要修改其结构,可使用命令
在表设计器的“字段”选项卡中,字段有效性的设置项中不包括
在VisualFoxPro中,查询设计器和视图设计器很像,如下描述正确的是
有关查询设计器,正确的描述是
释放和关闭表单的方法是
下列关于线性链表的叙述中,正确的是
SOL的SEL,ECT语句中,用来定义一个区间范围的特殊运算符是()。
下列不属于软件工程的3个要素的是______。
当浏览器重新返回Applet所在页面时,将调用Applet类的方法是
随机试题
下列描述是中继器的功能()
慢性活动性肝炎不会出现以下哪项异常
根据《票据法》的规定,下列情形中,将导致支票无效的是()。
甲公司为履行与乙公司的买卖合同,签发一张出票后三个月付款、金额为100万元的商业汇票,甲公司的开户银行P银行按期对该汇票进行了承兑,汇票收款人为乙公司,乙公司背书给丙公司。丁公司对该汇票提供了保证。要求:根据材料,回答下列问题。下列属于票据行为的有(
以下关于金融衍生品市场功能的说法,正确的有()。
利用“5C”系统评估顾客信誉时,其中条件(Conditions)是指()。
已知双曲线=1的离心率为2,焦点与椭圆=1的焦点相同,那么双曲线的焦点坐标为________;渐近线方程为________.
根据材料。回答问题131-135题。2006年,浙江省规模以下工业总产值为9693.27亿元,比上年增长17.4%,增幅提高4.2个百分点。规模以下工业总产值占全部工业的比重为25.4%,比上年提高0.9个百分点。与上年相比,2006年专用
马卡连柯教育思想的核心是()。
【S1】【S3】
最新回复
(
0
)