如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
贵州大学实验报告学院:计算机科学与信息工程学院专业:班级:姓名学号实验组实验时间2012-6指导教师成绩实验项目名称综合设计实验目的1.了解文件流的概念。2.学会文本文件的读写。3.学会序列化及二进制随机文件的读写。实验内容1.设计如下窗体,A.要求用户点击添加按钮时将当前学生信息添加到指定文本文件中(如源文件中有内容,不覆盖)。B.输入时,要求采用异常处理,针对输入学号、姓名为空,输入年龄、分数小于0的情况,弹出相应的出错对话框进行提示。C.点击显示按钮,将当前文件中内容显示出来。(提示:异常处理时要自定义异常,具体方法见参考程序)A.封装一个学生类对象,将以上程序学生信息采用B.序列化方式写入二进制文件,并可C.输入学号随机查找相应记录信息显示在文本框中,查找记录时,也要求用D.异常处理处理输入学号为空的情况。定义自己的异常类除了预定义的异常外,我们还可以创建自己的异常,过程比较简单:一声明一个异常,格式如下:classExceptionName:Exception{}二引发自己的异常:throw(ExceptionName);看一个例子:classIAmSecondGrade:System.Exception{}//声明异常classSecondGrade{publicstaticintmul(intfirst,intsecond){if(first>100||second>100)thrownewIAmSecondGrade();//引发异常return(first*second);}publicstaticvoidMain(){intmul_value;try{mul_value=mul(9,9);System.Console.WriteLine("9与9积为:{0}",mul_value);mul_value=mul(101,4);System.Console.WriteLine("出现异常,这行是不会被执行的。");}catch(IAmSecondGrade)//捕获自定义的异常{System.Console.WriteLine("我上二年级,超过100的乘法我不会。我自定义的异常。");}catch(System.Exceptione){System.Console.WriteLine("非自定义异常。其值为:{0}",e);}}实验环境Pc机VC++6.0环境(具体环境自己调整)实验步骤参考书P.27,windows窗体应用程序的实验步骤。序列化、二进制文件的读写及随机记录的读取参考书p.270实验程序第一部分:1.2.3.4.5.第二部分:1.2.3.4.5.6.7.实验结果及分析实验调适结果:第一部分:分析:从实验程序分析可以知道,实验程序设计了一个实现学生成绩添加和读取显示的功能,首先实验程序对数据进行相应的存储,存储路径为:E\\:C#综合实验.txt.当我们要读取相应的数据时,后部分的程序对数据进行读取显示从而实现了存储读取功能,显示如上几图。可以实现,封装一个学生类对象,将学生信息采用序列方程式写人二进制文件,并可输入学号随机查找相应记录信息显示在文本框中,查找记录时,也要求用异常处理处理输入学号为空的情况。第二部分:分析:File类提供了文件操作的方法,并协助创建FileStream对象,和Diectory类一样,File类的方法是提供共享的无须创建对象实体。使用FileStream类可以产生文件流,以便对文件进行读取,写入,打开和关闭操作。文本文件的操作通过StreamReader和StreamWriter两个类提供的方法来实现的。使用StreamReade类读取数据的过程是:首先通过File的OpenRead方法建立一个文件读取文件流,然后通过StreamRead类的方法将文件流中的数据读到C#编辑控制件中。使用StreamWriter类写入数据的过程是:首先File类的OpenWrite建立一个写入文件流,然后通过StreamRead的Write/WriteLine方法将C#编辑控件中的数据写入到该文件流中去。二进制问卷操作是通过BinaryReader和BinaryWriter两个类提供的方法来实现的。运行本窗体,单击“建立二进制文件”命令按钮,生成:C#综合实验.dat.文件的类容。(4)序列化用于将对象的状态存储到文件中。在这一过程中,对象的公共字段和私有字段以及类的名称都被转换成字节流,然后写入数据流。在以后反序列化该对象时,创建原始对象的精确副本,而反序列化将对象还原其以前的状况,首先创建用于读取的文件流和格