《第9章-文件ppt课件.ppt》由会员分享,可在线阅读,更多相关《第9章-文件ppt课件.ppt(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第9章-文件第9章 文件目录目录9.1 文件的结构和文件分类文件的结构和文件分类9.2 顺序文件的操作方法顺序文件的操作方法9.3 顺序文件操作举例顺序文件操作举例9.1 文件结构和文件分类文件结构和文件分类9.1.1 文件结构文件结构9.1.2 文件分类文件分类9.1.1 9.1.1 文件结构文件结构 为了有效地存取数据,数据必须以某种特定的方式存放为了有效地存取数据,数据必须以某种特定的方式存放,这种特定的方式称为文件结构。,这种特定的方式称为文件结构。 VB.NET的数据文件由记录组成,记录由字段组成,字段的数据文件由记录组成,记录由字段组成,字段由字符组成。由字符组成。9.1.2 9.
2、1.2 文件分类文件分类 根据不同的标准,文件可分为不同的类型。根据不同的标准,文件可分为不同的类型。 1根据数据性质,可分为程序文件和数据文件根据数据性质,可分为程序文件和数据文件 (1)程序文件()程序文件(Program File)。)。 (2)数据文件()数据文件(Data File)。)。 2根据数据的存取方式和结构,可分为顺序文件和随机文件根据数据的存取方式和结构,可分为顺序文件和随机文件 (1)顺序文件()顺序文件(Sequential File)。)。 (2)随机存取文件()随机存取文件(Random Access File)。)。 随机文件的优点是数据的存取较为灵活、速度快、
3、更新容易、操作方便,不足之处在于占用空随机文件的优点是数据的存取较为灵活、速度快、更新容易、操作方便,不足之处在于占用空间较大,数据组织较复杂。间较大,数据组织较复杂。 3根据数据的编码方式,可以分为根据数据的编码方式,可以分为ASCII文件和二进制文件文件和二进制文件 (1)ASCII文件。文件。 (2)二进制文件()二进制文件(Binary File)。)。9.2 顺序文件操作方法9.2.1 打开文件打开文件9.2.2 关闭文件关闭文件9.2.3 写操作写操作9.2.4 读操作读操作9.2.5 几个重要的文件函数几个重要的文件函数9.2.1 9.2.1 打开文件打开文件 在对文件进行操作之
4、前,必须先打开文件,同时通知操作系统对文件是读在对文件进行操作之前,必须先打开文件,同时通知操作系统对文件是读操作还是写操作。打开文件函数操作还是写操作。打开文件函数FileOpen( )的格式如下:的格式如下: FileOpen(文件号,文件说明,文件号,文件说明,OpenMode.模式模式,OpenAccess.存取方式,存取方式,OPenShare.共享方式,记录长度共享方式,记录长度) 打开模式,有以下3种形式: Output:打开一个文件,将从第一条记录开始对该文件进行写操作。 Input:打开一个文件,将从第一条记录开始对该文件进行读操作。 Append:打开一个文件,将从该文件末
5、尾开始追加记录。9.2.2 9.2.2 关闭文件关闭文件 当结束各种读、写操作以后,必须将文件关闭,否则会造成数据丢失等现当结束各种读、写操作以后,必须将文件关闭,否则会造成数据丢失等现象。因为实际上写操作都是将数据送到内存缓冲区,关闭文件时才将缓冲象。因为实际上写操作都是将数据送到内存缓冲区,关闭文件时才将缓冲区中的数据全部写入磁盘文件。关闭文件所用的是区中的数据全部写入磁盘文件。关闭文件所用的是FileClose( )函数,其格函数,其格式如下:式如下: FileClose( 文件号文件号,文件号文件号) 例如,例如,FileClose(1, 2, 3) 命令是关闭命令是关闭1号、号、2号
6、、号、3号文件。号文件。9.2.3 9.2.3 写操作写操作 将数据写入磁盘文件使用的函数有将数据写入磁盘文件使用的函数有Print( )、PrintLine( )、Write( )或或WriteLine( )。这。这4个函数的格式相同,其格式如下:个函数的格式相同,其格式如下: Print (文件号文件号, 表达式表表达式表) PrintLine (文件号文件号, 表达式表表达式表) Write (文件号文件号, 表达式表表达式表) WriteLine (文件号文件号, 表达式表表达式表)9.2.3 9.2.3 写操作写操作 4个函数的区别与联系:个函数的区别与联系:(1)Print( )和
7、和Write( )不换行;而不换行;而PrintLine( )和和WriteLine( )换行。换行。(2)对于)对于PrintLine( )和和WriteLine( ),如果省略输出项,则换行(把光标移,如果省略输出项,则换行(把光标移到下一行的行首);对于到下一行的行首);对于Print( )和和Write( ),则没有输出。,则没有输出。(3)当将字符串写入文件时,)当将字符串写入文件时,Write( )函数自动在字符串两边加上引号,并函数自动在字符串两边加上引号,并在两输出项之间插入逗号;当写入数值时,也没有前导空格。在两输出项之间插入逗号;当写入数值时,也没有前导空格。Print(
8、)函数函数中每个输出项将以制表符边界为准对齐,且不加入任何标点符号。中每个输出项将以制表符边界为准对齐,且不加入任何标点符号。(4)对于)对于Boolean 数据,数据,Print( )函数写入函数写入True和和False,Write( )函数写入函数写入#TRUE#和和#FALSE#。9.2.4 9.2.4 读操作读操作 读顺序文件的操作常用以下读顺序文件的操作常用以下3个函数:个函数: 1Input( )函数函数格式:格式: Input(文件号,变量)(文件号,变量) 使用该函数从文件中读出一个数据,并将读出的数据赋给指定的变量。使用该函数从文件中读出一个数据,并将读出的数据赋给指定的变
9、量。9.2.4 9.2.4 读操作读操作 2LineInput( )函数函数格式:格式: LineInput(文件号,字符串变量文件号,字符串变量) 使用该函数可以从文件中读出一行数据,并将读出的数据赋给指定的字符使用该函数可以从文件中读出一行数据,并将读出的数据赋给指定的字符串变量。读出的数据不包括回车换行符。串变量。读出的数据不包括回车换行符。9.2.4 9.2.4 读操作读操作 3InputString( )函数函数格式:格式: InputString(文件号,文件号,n) 该函数返回从指定文件中读出的该函数返回从指定文件中读出的n个字符的字符串。个字符的字符串。9.2.4 9.2.4
10、读操作读操作 【例【例9-4】用顺序访问模式创建一个学生数据文件(】用顺序访问模式创建一个学生数据文件(stulist.dat)(该文件)(该文件位于位于e盘的根目录下),并在窗体上输出其内容。盘的根目录下),并在窗体上输出其内容。 【例【例9-5】编写程序,在文件中查找指定的字符串。】编写程序,在文件中查找指定的字符串。9.2.5 9.2.5 几个重要的文件函数几个重要的文件函数 1Loc( )函数函数格式:格式:Loc(文件号文件号)Loc( )函数返回由函数返回由“文件号文件号”指定的文件的当前读、写位置。指定的文件的当前读、写位置。 2LOF( )函数函数格式:格式:LOF(文件号文件
11、号)LOF( )函数返回文件的大小(以字节为单位)。函数返回文件的大小(以字节为单位)。 3EOF( )函数函数格式:格式: EOF(文件号文件号)EOF( )函数用来测试文件的当前读、写位置是否在文件的结尾,若在函数用来测试文件的当前读、写位置是否在文件的结尾,若在文件的结尾,返回文件的结尾,返回True,否则,返回,否则,返回False。EOF( )函数常用在循环中测试是否已到文件尾,一般结构如下: While Not EOF(1) 文件读、写语句End While9.2.5 9.2.5 几个重要的文件函数几个重要的文件函数 【例【例9-6】从顺序文件中依次读出】从顺序文件中依次读出4个字
12、符,并输出。个字符,并输出。 【例【例9-7】已知数据文件】已知数据文件ch1.dat的每个记录是一个由字母组成的字符串,如:的每个记录是一个由字母组成的字符串,如:absolute。在此文。在此文件中查找从第件中查找从第150个记录到第个记录到第250个记录间的最大的字符串,并向文件个记录间的最大的字符串,并向文件t2.dat输出查找结果和该字符输出查找结果和该字符串中的字符个数串中的字符个数n。9.3 9.3 顺序文件操作举例顺序文件操作举例 【例【例9-8】在文本文件】在文本文件testf1.txt中,从第一个数开始,每中,从第一个数开始,每4个数为一组,第一个数为商场代号,其个数为一组
13、,第一个数为商场代号,其余余3个数代表三类商品的营业额(万元)。编写程序,计算并向文件个数代表三类商品的营业额(万元)。编写程序,计算并向文件t3.dat输出所有商场第一类商输出所有商场第一类商品的总营业额品的总营业额sum和平均营业额和平均营业额aver。分析:在本程序中,读出数据时,应以每读出4个数据为一组,取出其中的第二个数据(即第一类商品的营业额)来计算平均值。9.3 9.3 顺序文件操作举例顺序文件操作举例 【例【例9-9】已知在正文文件】已知在正文文件ch1.dat中,每个记录的数据是有一个由字母组成的字符个数不多于中,每个记录的数据是有一个由字母组成的字符个数不多于40个个的字符
14、串,如的字符串,如absolute。统计在该文件中只有。统计在该文件中只有10个字符的字符串的个数个字符的字符串的个数n1和字符串的最后一个字和字符串的最后一个字符是符是f的字符串的个数的字符串的个数n2,并将统计结果存入文本文件,并将统计结果存入文本文件t4.dat中。中。本例中要用到以下两个字符串操作函数:(1)Len( )函数。格式: Len(字符串) 返回一个整型数值,是该字符串的长度。(2)Mid( )函数。格式: Mid(字符串,m,n)9.3 9.3 顺序文件操作举例顺序文件操作举例 【例【例9-10】已知在数据文件】已知在数据文件t1.txt中,每个记录(即每行)只有一个实数,
15、试把该文件中从第中,每个记录(即每行)只有一个实数,试把该文件中从第100个数个数开始(包括第开始(包括第100个数)的个数)的225个数顺序按行读入到一个个数顺序按行读入到一个1515的二维数组中,计算并向文件的二维数组中,计算并向文件t5.dat中中输出数组中上三角形元素值含主对角线元素值之和输出数组中上三角形元素值含主对角线元素值之和s与该数组每列和数中的最大值与该数组每列和数中的最大值mx。分析:根据顺序文件的特点,要读出第100个数,必须先读出前99个数。因此,程序中先使用一个For循环执行99次读数据操作,尽管读出的数据没有参与任何运算,但这是要读出第100个数必不可少的前提。9.
16、3 9.3 顺序文件操作举例顺序文件操作举例 【例【例9-11】编写程序,从数据文件】编写程序,从数据文件data1.dat中读出数据,对数据进行排序,然后写入另一个数据文件中读出数据,对数据进行排序,然后写入另一个数据文件data2.dat。本章小结 本章从本章从文件的概念文件的概念开始,简要介绍开始,简要介绍文件的结构和分类文件的结构和分类,然后讲,然后讲述述了顺序文件的操作方法了顺序文件的操作方法,最后,最后介绍了几个重点的文件函数介绍了几个重点的文件函数。 通过对本章的学习,从整体上加深对通过对本章的学习,从整体上加深对文件文件的认识,培养学生的认识,培养学生利利用文件实现数据的输入和输出的用文件实现数据的输入和输出的能力,加强学生能力,加强学生对数据存储的对数据存储的理解。理解。