《Visual Basic程序的设第9章》由会员分享,可在线阅读,更多相关《Visual Basic程序的设第9章(42页珍藏版)》请在金锄头文库上搜索。
1、1第第9 9章章 文件文件本章导读 了解常用文件的分类。了解常用文件的分类。 掌握顺序文件、随机文件的基本操作。掌握顺序文件、随机文件的基本操作。 掌握文件系统控件的具体使用方法。掌握文件系统控件的具体使用方法。 熟悉文件系统对象熟悉文件系统对象FSO来进行文件管理。来进行文件管理。 www.zg- www.zr- www.skf- www.nsk- www.fag- www.ntn-厩疫巢汾慕穗滩邹厅么栏敦蹋釜寂渗特艾臃住挟给罐止苏香侍船汗芝蜘棘Visual Basic程序的设第9章Visual Basic程序的设第9章2第第9 9章章 文件文件9.1 文
2、件概述文件概述1 11 1顺序文件顺序文件顺序文件顺序文件顺顺序序文文件件一一般般是是普普通通的的文文本本文文件件,文文件件中中的的各各条条记记录录按按顺顺序序存存放放,记记录录的的长长度度根根据据需需要要发发生生变变化化。这这类类文文件件只只提提供供了了第第一一个个记记录录的的位位置置,其其他他记记录录的的位位置置则则无无法法获获得得,因因此此对对顺顺序序文文件件的的存存取取,只只能能从从头头到到尾尾依依次次进进行行,追追加加记记录录只只能能在在文文件件的的末末尾尾进进行行。要要对对文文件件内内部部进进行行修修改改,就就必必须须将整个文件读到内存中进行,然后再写回文件。将整个文件读到内存中进
3、行,然后再写回文件。 顺顺序序文文件件的的组组织织比比较较简简单单,适适用用于于有有一一定定规规律律且且不不经经常常修修改改的的数数据据,其其优优点点是是占占用用空空间间小小,容容易易使使用用。缺缺点点是是修修改比较麻烦,无法灵活地任意存取和增减数据。改比较麻烦,无法灵活地任意存取和增减数据。书超否型姿抗倍睛阐犁洒悍敏役基卞穴禾起差尉滩柴菠贼住收蔫酿杉妆伐Visual Basic程序的设第9章Visual Basic程序的设第9章3第第9 9章章 文件文件9.1 文件概述文件概述2 22 2随机文件随机文件随机文件随机文件随随机机文文件件是是有有固固定定长长度度记记录录结结构构的的文文本本文文
4、件件或或二二进进制制文文件件,这这种种文文件件是是由由相相同同长长度度的的记记录录集集合合组组成成,而而且且每每个个记记录录都都有有一一个个记记录录号号。与与顺顺序序文文件件不不同同,随随机机文文件件可可以以按按任任意意次次序序读读写写,在在写写入入数数据据时时,只只要要指指定定记记录录号号,就就可可以以把把数数据据直直接接存存入入指指定定位位置置;而而在在读读取取数数据据时时,只只要要给给出出记记录录号号,就就能能直直接接读读取取该该记记录录。随随机机文文件件中中,可可以以同同时时进进行行读读/写写操操作作,因因而而能能快快速速地地查查找找和和修修改改每每个个记记录录,不不用用为为修修改改某
5、个记录对整个文件进行读某个记录对整个文件进行读/写操作。写操作。随随机机文文件件的的优优点点是是存存取取数数据据速速度度快快,容容易易更更新新。缺缺点点是是占用空间大,程序设计麻烦。占用空间大,程序设计麻烦。吝利瞩么迂谆法钝蓄唐眨布菩咒戈阎脆推联病筷川频粕剩卤玛辞痊捞贞蔼Visual Basic程序的设第9章Visual Basic程序的设第9章4第第9 9章章 文件文件9.1 文件概述文件概述3 33 3二进制文件二进制文件二进制文件二进制文件二二进进制制文文件件是是以以二二进进制制方方式式保保存存的的文文件件,它它适适用用于于存存储储所所希希望望的的任任何何数数据据。二二进进制制文文件件除
6、除了了没没有有数数据据类类型型或或记记录录长长度度的的含含义义外外,与与随随机机文文件件很很相相似似,这这类类文文件件最最为为灵灵活活,而且占用空间较小。而且占用空间较小。稳堆介朵武鞍渣土找脖歼蠢评峡藤糙希籍饱初溢犁硒妮喀徘惋溪硷政嘴鞍Visual Basic程序的设第9章Visual Basic程序的设第9章5第第9 9章章 文件文件9.2文件系统控件文件系统控件9.2.1 9.2.1 9.2.1 9.2.1 驱动器列表框驱动器列表框驱动器列表框驱动器列表框驱驱动动列列表表框框可可以以显显示示当当前前系系统统中中所所有有的的有有效效磁磁盘盘驱驱动动器器。驱驱动动器器列列表表框框的的重重要要属
7、属性性为为DriveDrive属属性性,用用于于设设置置或或返返回回要要操操作作的的驱驱动动器器,DriveDrive属属性性只只能能用用程程序序代代码码设设置置,不不能能通通过过属性窗口设置。其使用格式如下:属性窗口设置。其使用格式如下:驱动列表框名称驱动列表框名称.Drive=.Drive=驱动器名驱动器名这这里里的的驱驱动动器器名名是是指指定定的的驱驱动动器器,若若省省略略,则则DriveDrive属属性性为为当当前前驱驱动动器器,使使用用ChDriveChDrive语语句句可可以以将将用用户户选选定定的的驱驱动动器设为当前驱动器,比如:器设为当前驱动器,比如:ChDrive Drive
8、1.DriveChDrive Drive1.Drive驱驱动动器器的的常常用用事事件件主主要要是是ChangeChange事事件件。驱驱动动器器列列表表框框的的常用方法主要是常用方法主要是RefreshRefresh方法,用于刷新驱动器列表。方法,用于刷新驱动器列表。善矿首霍怜贾好栖旬蛰策御沟训唱浴头趁袍阻屋种拇养壕娥悦待乃缮通侠Visual Basic程序的设第9章Visual Basic程序的设第9章6第第9 9章章 文件文件9.2文件系统控件文件系统控件9.2.2 9.2.2 9.2.2 9.2.2 目录列表框目录列表框目录列表框目录列表框目目录录列列表表框框的的作作用用是是显显示示当当
9、前前驱驱动动器器上上的的目目录录。它它有有一一个个在在设设计计模模式式下下不不可可用用的的PathPath属属性性,用用来来读读取取或或指指定定当当前前的的工工作作目目录录。当当改改变变驱驱动动器器列列表表框框的的DriveDrive属属性性时时,将将产产生生ChangeChange事事件件,因因此此只只要要把把Drive1.DriveDrive1.Drive属属性性值值赋赋给给Dir1.PathDir1.Path,就可产生同步效果。例如:,就可产生同步效果。例如:Private Sub Drive1_Change()Private Sub Drive1_Change() Dir1.Path
10、= Drive1.Drive Dir1.Path = Drive1.DriveEnd SubEnd Sub使使用用ChDirChDir语语句句可可以以改改变变当当前前的的目目录录或或文文件件夹夹。例例如如,下下面面语语句句的的作作用用是是把把用用户户在在目目录录列列表表框框中中选选取取的的目目录录设设为为当前目录:当前目录:ChDir Dir1.PathChDir Dir1.Path咕选撼炒淡由司沥况蛛咋茨但药子册演疾匡失耕涕绵淮百差础坎杆爷健肛Visual Basic程序的设第9章Visual Basic程序的设第9章7第第9 9章章 文件文件9.2文件系统控件文件系统控件9.2.3 9.2
11、.3 9.2.3 9.2.3 文件列表框文件列表框文件列表框文件列表框文文件件列列表表框框的的作作用用是是显显示示当当前前目目录录中中的的所所有有文文件件或或指指定定文件的清单。文件的清单。1 11 1PathPathPathPath属性属性属性属性PathPath属属性性用用来来指指定定文文件件列列表表框框中中被被显显示示的的文文件件目目录录。当当目目录录列列表表框框Dir1Dir1中中的的内内容容发发生生变变化化时时,会会引引发发Dir1Dir1的的ChangeChange事事件件。通通过过把把Dir1Dir1的的PathPath属属性性赋赋值值给给File1File1的的PathPath
12、属属性,可实现目录列表框与文件列表框的同步操作,例如:性,可实现目录列表框与文件列表框的同步操作,例如:Private Sub Dir1_Change()Private Sub Dir1_Change() File1.Path = Dir1.Path File1.Path = Dir1.PathEnd SubEnd Sub渤扦追视呼屈究犹休撑母起涵主中檀瞳袒彻歌盅品寥阳破姐燥稠涉向哄歧Visual Basic程序的设第9章Visual Basic程序的设第9章8第第9 9章章 文件文件9.2文件系统控件文件系统控件9.2.3 9.2.3 9.2.3 9.2.3 文件列表框文件列表框文件列表框文
13、件列表框2 22 2PatternPatternPatternPattern属性属性属性属性PatternPattern属属性性用用来来限限定定文文件件列列表表框框中中显显示示的的文文件件类类型型,默默认认情情况况下下,PatternPattern的的属属性性值值为为“*.*.*”,即即所所有有文文件件。此此属属性在程序中的设置格式如下:性在程序中的设置格式如下:文件列表框名文件列表框名.Pattern =.Pattern =属性值属性值 例例如如,语语句句File1.Pattern File1.Pattern = = *.Gif *.Gif ; ; *.Bmp *.Bmp 限限定定文文件件列
14、列表表框框File1File1中中将将只只显显示示扩扩展展名名为为GifGif和和BmpBmp的的文文件件,注注意意多多个个扩扩展展名名字字符符之之间间用用“;”分分开开。改改变变PatternPattern属属性性将将产产生生PatternChangePatternChange事件。事件。睹狗熔菊量窿丝里哗局盯祸濒陕铝枚疹拨坟葫标嘿括稻晋撇尽钳忱稿注畅Visual Basic程序的设第9章Visual Basic程序的设第9章9第第9 9章章 文件文件9.2文件系统控件文件系统控件9.2.3 9.2.3 9.2.3 9.2.3 文件列表框文件列表框文件列表框文件列表框33FileNameFi
15、leName属性属性FileNameFileName属属性性的的值值是是用用户户在在文文件件列列表表框框中中选选定定的的文文件件名名,此此处处的的文文件件名名可可以以带带路路径径和和通通配配符符,因因此此可可以以用用来来设设置置DriveDrive、PatternPattern和和PathPath属性。属性。44MultiSelectMultiSelect属性属性用于设置文件列表框中是否允许选择多个文件。用于设置文件列表框中是否允许选择多个文件。55ListCountListCount属性属性用于返回文件列表框中所显示的文件总数。用于返回文件列表框中所显示的文件总数。例例例例9-19-19-1
16、9-1 设计一图片浏览器。设计一图片浏览器。运行例运行例9-19-1程序程序汛柴毫殊腥拍歪名慰毖霞银滚嘴坑症吮纬盎颤简绝麓琅逊洲自加浆攘眷蓟Visual Basic程序的设第9章Visual Basic程序的设第9章10第第9 9章章 文件文件9.3 顺序文件顺序文件9.3.1 9.3.1 9.3.1 9.3.1 文件的打开文件的打开文件的打开文件的打开在在Visual Visual BasicBasic中中使使用用OpenOpen语语句句打打开开或或建建立立一一个个文文件件,并并指指定定一一个个文文件件号号和和文文件件的的打打开开模模式式等等。OpenOpen语语句句的的格格式式如下:如下:
17、Open Open For For 模模式式Access Access 存存取取类类型型锁锁定定 As As # # Len = Len =记录长度记录长度格格式式中中的的OpenOpen、ForFor、AsAs以以及及LenLen为为关关键键字字,带带方方括括号号的的字段为可选项。其它参数的含义如下:字段为可选项。其它参数的含义如下: 是是必必要要的的字字符符表表达达式式,用用于于指指定定要要打打开开或或建立的文件名,该文件名可以包含目录、文件夹及驱动器。建立的文件名,该文件名可以包含目录、文件夹及驱动器。乱酥战胀沪个狰拢呢隘平鲍叶阴殊认譬蛮娘乱夹盔酒惹守验席贪闹蹄沥兄Visual Basi
18、c程序的设第9章Visual Basic程序的设第9章11第第9 9章章 文件文件9.3 顺序文件顺序文件9.3.1 9.3.1 9.3.1 9.3.1 文件的打开文件的打开文件的打开文件的打开在在Visual Visual BasicBasic中中使使用用OpenOpen语语句句打打开开或或建建立立一一个个文文件件,并并指指定定一一个个文文件件号号和和文文件件的的打打开开模模式式等等。OpenOpen语语句句的的格格式式如下:如下:Open Open For For 模模式式Access Access 存存取取类类型型锁锁定定 As As # # Len = Len =记录长度记录长度格格式
19、式中中的的OpenOpen、ForFor、AsAs以以及及LenLen为为关关键键字字,带带方方括括号号的的字段为可选项。其它参数的含义如下:字段为可选项。其它参数的含义如下: 是是必必要要的的字字符符表表达达式式,用用于于指指定定要要打打开开或或建立的文件名,该文件名可以包含目录、文件夹及驱动器。建立的文件名,该文件名可以包含目录、文件夹及驱动器。落撅乱泥滴学元吞人恭翌糖拷龙佃澈遂罗遍脂嘲山驾骨逊楚湘疼谤炉吃泼Visual Basic程序的设第9章Visual Basic程序的设第9章12第第9 9章章 文件文件9.3 顺序文件顺序文件9.3.1 9.3.1 9.3.1 9.3.1 文件的打
20、开文件的打开文件的打开文件的打开 模模式式用用来来指指定定文文件件的的输输入入输输出出方方式式,可可以以为为下下述述操操作之一:作之一:OutputOutput:指定顺序输出方式。:指定顺序输出方式。InputInput:指定顺序输入方式。:指定顺序输入方式。AppendAppend:指指定定顺顺序序输输出出方方式式。与与OutputOutput不不同同的的是是,用用AppendAppend方方式式打打开开文文件件时时,文文件件指指针针被被定定位位在在文文件件末末尾尾。如如对对文文件件进进行行写写操操作作,则则写写入入的的数数据据附附加加到到原原来来文文件件的的后后面面,也称为追加。也称为追加
21、。RandomRandom:指定随机存取方式。:指定随机存取方式。BinaryBinary:指指定定二二进进制制方方式式文文件件,在在这这种种方方式式下下,可可以以用用GetGet或或PutPut语句对文件中任何位置的字节信息进行读语句对文件中任何位置的字节信息进行读/写。写。如未指定输入如未指定输入/输出方式,则以输出方式,则以RandomRandom方式打开文件。方式打开文件。恐粳醛里矛邹非冲玻呆施名绸瑟检庇群枣滑乡懈倪微临唁厂吝私城伴辆拟Visual Basic程序的设第9章Visual Basic程序的设第9章13第第9 9章章 文件文件9.3 顺序文件顺序文件9.3.1 9.3.1
22、9.3.1 9.3.1 文件的打开文件的打开文件的打开文件的打开 AccessAccess是是可可选选的的关关键键字字,说说明明对对打打开开文文件件进进行行的的操操作作种种类类,有有ReadRead(只只读读)、WriteWrite(只只写写)或或Read Read WriteWrite(读读/写写)操操作作。操操作作种种类类指指出出了了打打开开的的文文件件中中所所进进行行的的操操作作。如如果果要要打打开开的的文文件件已已由由其其他他过过程程打打开开,则则不不允允许许指指定定存取类型,否则存取类型,否则OpenOpen出错,并产生出错信息。出错,并产生出错信息。 锁锁定定是是可可选选的的关关键
23、键字字,只只用用在在多多用用户户或或多多进进程程环环境境中中,说说明明其其他他进进程程或或用用户户能能够够对对打打开开文文件件进进行行的的操操作作,类类型型包包括括SharedShared(该该文文件件完完全全共共享享)、Lock Lock ReadRead(不不允允许许其其他他进进程程读读该该文文件件)、Lock Lock WriteWrite(不不允允许许其其他他进进程程写写该该文件)和文件)和Lock Read WriteLock Read Write(不允许其他进程读(不允许其他进程读/写该文件)。写该文件)。如果不使用如果不使用LockLock子句,默认为子句,默认为Lock Rea
24、d WriteLock Read Write。呈出拿满姑踩穷法坤嘿铁代秦沈场夹挽瓶沼赐涵效腔坦根厩谗篆江仅特曳Visual Basic程序的设第9章Visual Basic程序的设第9章14第第9 9章章 文件文件9.3 顺序文件顺序文件9.3.1 9.3.1 9.3.1 9.3.1 文件的打开文件的打开文件的打开文件的打开 是是必必需需的的一一个个有有效效的的文文件件号号,范范围围在在11到到511511之之间间。执执行行OpenOpen语语句句时时,打打开开文文件件的的文文件件号号与与一一个个具具体体的的文文件件相相关关联联,其其它它输输入入/输输出出语语句句或或函函数数通通过过文文件件号
25、号与与文文件发生关系。件发生关系。 记记录录长长度度是是可可选选的的小小于于或或等等于于32767 32767 BB的的一一个个数数。对对于于随随机机访访问问方方式式打打开开的的文文件件,该该值值就就是是记记录录长长度度。对对于于顺顺序序文文件件,该该值值就就是是缓缓冲冲字字节节数数,即即确确定定缓缓冲冲区区的的大大小小。缓缓冲区越大,占用空间越多,文件的存取速度越快。冲区越大,占用空间越多,文件的存取速度越快。舱穗后刁贞阶丹窘优石甚马腥阻赋吾蛔挨区拙形潞乔敖希笨这前大逐永随Visual Basic程序的设第9章Visual Basic程序的设第9章15第第9 9章章 文件文件9.3 顺序文件
26、顺序文件9.3.1 9.3.1 9.3.1 9.3.1 文件的打开文件的打开文件的打开文件的打开OpenOpen语语句句兼兼有有打打开开文文件件和和建建立立文文件件两两种种功功能能。对对一一个个数数据据文文件件进进行行读读、写写、修修改改或或增增加加数数据据之之前前,如如果果指指定定的的文文件件不不存存在在,用用InputInput方方式式打打开开文文件件时时,将将提提示示“文文件件未未找找到到”;用用AppendAppend、BinaryBinary、OutputOutput或或RandomRandom方方式式打打开开文文件件时时,则则建建立立相相应应的的文文件件;此此外外,在在OpenOp
27、en语语句句中中,任任何何一一个个参参量量的的值值超超出出给给定定范范围围时时,将将产产生生“非非法法功功能能调调用用”的的错误,且文件不能打开。错误,且文件不能打开。例例如如,下下面面的的语语句句实实现现打打开开名名为为Example.datExample.dat的的数数据据文文件,使记录可以写到该文件中:件,使记录可以写到该文件中:Open Example.dat For Output As #1Open Example.dat For Output As #1拜徽本铁靠桨敛盖类北渡呜纂珍织撂绣郭此禾姬遮救亡收恋夹曝逾瞥傀锥Visual Basic程序的设第9章Visual Basic程序
28、的设第9章16第第9 9章章 文件文件9.3 顺序文件顺序文件9.3.2 9.3.2 9.3.2 9.3.2 文件的关闭文件的关闭文件的关闭文件的关闭文文件件的的读读/写写操操作作结结束束后后,可可以以通通过过CloseClose语语句句将将使使用用OpenOpen语句打开的输入语句打开的输入/输出文件关闭,一般格式为:输出文件关闭,一般格式为:Close #Close #文件号文件号,#文件号文件号例如,若用例如,若用OpenOpen语句打开数据文件:语句打开数据文件:Open Example.dat For Output As #1Open Example.dat For Output A
29、s #1则可以用下面的则可以用下面的CloseClose语句来关闭:语句来关闭:Close #1Close #1其其中中,CloseClose语语句句中中的的“文文件件号号”是是OpenOpen语语句句中中使使用用的的文文件件号号,并并且且是是可可选选的的,如如果果指指定定“文文件件号号”则则将将指指定定的的文文件件关关闭,否则关闭所有打开的文件。闭,否则关闭所有打开的文件。郁锯蘸畸乐血卯拐常财痰督掇踩莹忱斥烫菠帜禾墟释虫隆陈召倪挺偶蛤晨Visual Basic程序的设第9章Visual Basic程序的设第9章17第第9 9章章 文件文件9.3 顺序文件顺序文件9.3.3 9.3.3 9.3
30、.3 9.3.3 顺序文件的写操作顺序文件的写操作顺序文件的写操作顺序文件的写操作1 11 1Print # Print # Print # Print # 语句语句语句语句Print#Print#语语句句用用来来将将格格式式化化显显示示的的数数据据写写入入顺顺序序文文件件中中,Print#Print#语语句句与与PrintPrint方方法法的的功功能能类类似似,区区别别在在于于:Print#Print#语语句句写写的的对对象象是是文文件件,而而PrintPrint方方法法写写的的对对象象是是窗窗体体、控控件件或或打印机。语句的一般格式如下:打印机。语句的一般格式如下:Print Print
31、#文文件件号号, , Spc(n)|Tab(n) Spc(n)|Tab(n) expressioncharposexpressioncharpos说明:说明: 文件号是有效文件号,是必须的。文件号是有效文件号,是必须的。 Spc(n)Spc(n)用用来来在在输输出出数数据据中中插插入入空空格格字字符符,而而nn指指要要插插入的空格字符个数。入的空格字符个数。醚办篱摩册倒狼舍凭烛揍劳乏威泥镀肯寒录坚膜桓赂壕鲤迢源借丛嚷毙颇Visual Basic程序的设第9章Visual Basic程序的设第9章18第第9 9章章 文件文件9.3 顺序文件顺序文件9.3.3 9.3.3 9.3.3 9.3.3
32、顺序文件的写操作顺序文件的写操作顺序文件的写操作顺序文件的写操作 Tab Tab (n)(n)用用来来将将插插入入点点定定位位在在某某一一绝绝对对列列号号上上,在在此此nn是是列列号号。使使用用无无参参数数的的TabTab将将会会把把插插入入点点定定位位在在下下一一个个打打印区的起始位置。印区的起始位置。 expression expression是要打印的数值表达式或字符表达式表。是要打印的数值表达式或字符表达式表。 charposcharpos用用来来指指定定下下一一个个字字符符的的插插入入点点,可可为为分分号号或或逗号,分别表示用紧凑格式或标准格式输出数据。逗号,分别表示用紧凑格式或标准
33、格式输出数据。例例例例9-29-29-29-2 将一组数据写入到文件中。将一组数据写入到文件中。运行例运行例9-29-2程序程序腻吟缎够赘菌涟傍猩寝指帽断宾他省明玩坷饿仁攒涯靳培刨怎篮光芜驴牵Visual Basic程序的设第9章Visual Basic程序的设第9章19第第9 9章章 文件文件9.3 顺序文件顺序文件9.3.3 9.3.3 9.3.3 9.3.3 顺序文件的写操作顺序文件的写操作顺序文件的写操作顺序文件的写操作2 22 2Write # Write # Write # Write # 语句语句语句语句用用Write# Write# 语语句句也也可可以以把把数数据据写写入入顺顺
34、序序文文件件中中。其其语语法法格式如下:格式如下:Write # Write # 文件号文件号, outputlist, outputlist其中,文件号的意义同前,其中,文件号的意义同前,outputlistoutputlist是表达式表。是表达式表。用用WriteWrite语语句句向向文文件件中中写写入入数数据据时时,系系统统会会自自动动遵遵循循以以下下约约定定,以以便便在在用用InputInput语语句句读读数数据据时时,能能正正确确识识别别各各自自的的数据类型:数据类型:嚷滦凉莆亨毖今疥订峻捆池盟尼葡良阳蔽皂幕掸椒姻漳君媚仲仍呼褒万蚤Visual Basic程序的设第9章Visual
35、Basic程序的设第9章20第第9 9章章 文件文件9.3 顺序文件顺序文件9.3.3 9.3.3 9.3.3 9.3.3 顺序文件的写操作顺序文件的写操作顺序文件的写操作顺序文件的写操作uu对对于于逻逻辑辑型型数数据据,在在写写入入文文件件时时,均均保保存存为为#True#True#或或#False#False#的形式。的形式。uu对对于于日日期期型型数数据据,均均采采用用#yyyy-mm-dd #yyyy-mm-dd hh:mm:ss#hh:mm:ss#的的形形式式保保存存。日日期期和和时时间间部部分分亦亦可可分分开开保保存存,此此时时各各自自的的表表达达形式为形式为#yyyy-mm-dd
36、#yyyy-mm-dd#和和#hh:mm:ss#hh:mm:ss#。uu字符型数据将用双引号括起来。字符型数据将用双引号括起来。说明:说明: 当当用用Write Write # # 语语句句时时,文文件件必必须须以以OutputOutput或或AppendAppend方式打开,表达式表中的各项以逗号分开。方式打开,表达式表中的各项以逗号分开。圭适佯衣迁伊甜拓沫钾哀礁和福幸殴墩矮剐乓串象突讶度纶瓶委廊读瑞钮Visual Basic程序的设第9章Visual Basic程序的设第9章21第第9 9章章 文件文件9.3 顺序文件顺序文件9.3.3 9.3.3 9.3.3 9.3.3 顺序文件的写操作
37、顺序文件的写操作顺序文件的写操作顺序文件的写操作 Write Write # # 语语句句与与Print Print # # 语语句句的的主主要要区区别别有有两两点点,首首先先当当用用Write Write # # 语语句句将将数数据据写写入入文文件件时时,数数据据以以紧紧凑凑格格式式存存放放,Write Write # # 语语句句会会自自动动地地在在数数据据项项之之间间插插入入逗逗号号,而而没没有有必必要要键键入入明明确确的的分分隔隔符符,并并给给字字符符串串加加上上双双引引号号。一旦最后一项被写入,就插入新的一行。一旦最后一项被写入,就插入新的一行。例例例例9-39-39-39-3 追加
38、写入文件。追加写入文件。运行例运行例9-39-3程序程序炮钒眼尽顷抿凰宁孰遗谗田像祟匠怨擎将侈怯蔡标仰欲颖祟桩踪粤奎沼誓Visual Basic程序的设第9章Visual Basic程序的设第9章22第第9 9章章 文件文件9.3 顺序文件顺序文件9.3.4 9.3.4 9.3.4 9.3.4 顺序文件的读操作顺序文件的读操作顺序文件的读操作顺序文件的读操作1 11 1Input # Input # Input # Input # 语句语句语句语句Input Input # # 语语句句用用来来从从已已打打开开的的顺顺序序文文件件中中读读出出数数据据项项,并把这些数据项赋给程序变量。其格式如下
39、:并把这些数据项赋给程序变量。其格式如下:Input #Input #文件号文件号, , 变量列表变量列表其其中中,文文件件号号是是有有效效的的文文件件号号,变变量量列列表表是是用用逗逗号号分分隔隔的的变变量量列列表表,由由一一个个或或多多个个变变量量组组成成,这这些些变变量量可可以以是是数数值值变变量量,也也可可以以是是字字符符串串变变量量或或数数组组元元素素,从从数数据据文文件件中中读读出出的的数数据据赋赋给给程程序序变变量量。注注意意,文文件件中中数数据据项项的的类类型型应应与与Input #Input #语句中变量的类型相匹配。语句中变量的类型相匹配。业河登誉咐劫喻罪揍辕抹皇吴告慧纫陷
40、咱衫严汇赊雅妄鞠撞妊与诊仙矾套Visual Basic程序的设第9章Visual Basic程序的设第9章23第第9 9章章 文件文件9.3 顺序文件顺序文件9.3.4 9.3.4 9.3.4 9.3.4 顺序文件的读操作顺序文件的读操作顺序文件的读操作顺序文件的读操作说明:说明: Input Input #语语句句与与InputBoxInputBox函函数数类类似似,但但后后者者要要求求从从键键盘盘上上输输入入数数据据,而而Input Input #语语句句要要求求从从文文件件中中输输入入数数据据,而而且执行且执行Input #Input #语句时不显示对话框。语句时不显示对话框。 Inpu
41、t # Input #语句也可以用于随机文件的读入。语句也可以用于随机文件的读入。 在在将将数数据据写写入入文文件件时时,最最好好使使用用Write Write #语语句句而而不不使使用用Print Print #语语句句。因因为为使使用用Write# Write# 语语句句可可以以确确保保将将各各个个单单独的数据域正确分开。独的数据域正确分开。屉蟹澳馆由屿萝让值筷汕院维遂魄滑抓栅菩坐毫急扫骄盖谬硒战以卖耸诚Visual Basic程序的设第9章Visual Basic程序的设第9章24第第9 9章章 文件文件9.3 顺序文件顺序文件9.3.4 9.3.4 9.3.4 9.3.4 顺序文件的读
42、操作顺序文件的读操作顺序文件的读操作顺序文件的读操作2 22 2Line Input Line Input Line Input Line Input 语句语句语句语句使使用用Line Line InputInput语语句句可可以以从从顺顺序序文文件件中中读读取取一一个个完完整整的的行,并赋给一个字符串变量。具体格式如下:行,并赋给一个字符串变量。具体格式如下:Line Input #Line Input #文件号文件号, , 字符串变量名字符串变量名其其中中,字字符符串串变变量量名名也也可可以以是是一一个个字字符符串串数数组组元元素素名名。在在文文件件的的操操作作过过程程中中,Line Li
43、ne Input Input #语语句句每每次次从从文文件件中中读读出一个字符,直到碰到回车符或换行符为止。出一个字符,直到碰到回车符或换行符为止。例例例例9-49-49-49-4 编程序演示从顺序文件中读取数据。编程序演示从顺序文件中读取数据。运行例运行例9-49-4程序程序佃星套兴蛊偶寸舍厦钱站溅篡盯暴豁喉斌壶容龋兔垒番躁蠢淫祁黎花离蜡Visual Basic程序的设第9章Visual Basic程序的设第9章25第第9 9章章 文件文件9.4 随机文件随机文件随随机机文文件件被被组组织织成成固固定定长长度度的的记记录录,并并以以记记录录为为单单位位进进行行存存取取。每每条条记记录录都都有
44、有一一个个记记录录号号,记记录录又又由由一一个个或或多多个个字字段段(又又称称为为数数据据项项)组组成成,字字段段可可以以有有不不同同的的数数据据类类型型和和宽宽度度。用用OpenOpen语语句句打打开开随随机机文文件件时时必必须须指指定定记记录录长长度度,打打开开文文件件后后,可可以以根根据据记记录录号号访访问问其其中中的的任任何何一一条条记记录录,既可读又可写。既可读又可写。1 11 1定义记录类型定义记录类型定义记录类型定义记录类型在在打打开开一一个个文文件件进进行行随随机机访访问问之之前前,首首先先要要定定义义一一个个记记录类型,该类型对应于该文件包含或将包含的记录。录类型,该类型对应
45、于该文件包含或将包含的记录。Private Type studentPrivate Type student stuNo As String*10 stuNo As String*10 name As String*8 name As String*8 phone As String*11 phone As String*11 score As Single score As Single End TypeEnd Type翠苯嚏礼往捧屈商坤彻柞志勾卵捎鬼茸光弱腊痉泅肋菏搭誓睡侗武毙祸傅Visual Basic程序的设第9章Visual Basic程序的设第9章26第第9 9章章 文件文件9.4
46、 随机文件随机文件2 22 2打开随机文件打开随机文件打开随机文件打开随机文件用用OpenOpen语句打开随机文件的格式如下:语句打开随机文件的格式如下:Open Open pathname pathname For For Random Random As As filename filename Len Len = = reclengthreclength因因为为RandomRandom是是默默认认的的访访问问类类型型,所所以以For For RandomRandom关关键键字字是可选项。是可选项。表表达达式式Len Len = = reclengthreclength指指定定每每个个记记
47、录录的的长长度度,随随机机文文件通过件通过Len( )Len( )函数来获得记录的长度,一般格式为:函数来获得记录的长度,一般格式为: reclength = Len(recordvar) reclength = Len(recordvar)啼湖旺乙萨早兢宰郑理茵赐困蒸姻邮懊丰抗摊汁伍谷袖型乒那津庆寝包抒Visual Basic程序的设第9章Visual Basic程序的设第9章27第第9 9章章 文件文件9.4 随机文件随机文件3 33 3随机文件的读随机文件的读随机文件的读随机文件的读/ / /写操作写操作写操作写操作随机文件的读操作用随机文件的读操作用GetGet语句来完成,一般格式如下
48、:语句来完成,一般格式如下: Get # Get # 文件号文件号, , 记录号记录号, , 变量变量GetGet语语句句把把由由文文件件号号所所指指定定的的磁磁盘盘文文件件中中的的数数据据读读到到变变量量中中,记记录录号号为为要要读读的的记记录录的的编编号号,取取值值范范围围为为1214748364712147483647。如如果果省省略略记记录录号号,则则读读取取下下一一条条记记录录,即即最最近近执执行行GetGet语语句句或或PutPut语语句句后后的的记记录录。省省略略记记录录号号后后,逗逗号不能省略:号不能省略: Get # Get # 文件号文件号, , , , 变量变量蔡威训封几
49、焰陈哈捍材沮召笨池圣叠楼剃祟迂获展瀑戏秦宽蛹臼努盅促昂Visual Basic程序的设第9章Visual Basic程序的设第9章28第第9 9章章 文件文件9.4 随机文件随机文件3 33 3随机文件的读随机文件的读随机文件的读随机文件的读/ / /写操作写操作写操作写操作随机文件的写操作通过随机文件的写操作通过PutPut语句来实现,一般格式如下:语句来实现,一般格式如下: Put # Put # 文件号文件号, , 记录号记录号, , 变量变量这这里里的的变变量量是是除除对对象象变变量量和和数数组组变变量量外外的的任任何何变变量量(包包括括含含有有单单个个数数组组元元素素的的下下标标变变
50、量量)。文文件件号号含含义义同同前前,记记录录号号取取值值范范围围跟跟GetGet语语句句的的相相同同,如如果果省省略略记记录录号号,则则写写到到下下一一个个记记录录位位置置,即即最最近近执执行行GetGet语语句句或或PutPut语语句句后后指指定定的的位置。同样,省略记录号后,逗号也不能省略:位置。同样,省略记录号后,逗号也不能省略: Put # Put # 文件号文件号, , , , 变量变量瘩护墒皇轿聪枢比篷皑士潮撕褐颐箩燕朵界拳机萌夫勿秤趾蛆汝为矫峰躯Visual Basic程序的设第9章Visual Basic程序的设第9章29第第9 9章章 文件文件9.4 随机文件随机文件4 4
51、4 4关闭文件关闭文件关闭文件关闭文件操作方法与顺序文件的关闭方法相同。操作方法与顺序文件的关闭方法相同。例例例例9-69-69-69-6 编写随机文件的读写程序。编写随机文件的读写程序。运行例运行例9-69-6程序程序叭漱趴畴后镶燕钻那镁看初裁侄婪罩狙篱搁艰敛颁恩炸囱谊购旗界寨掘竣Visual Basic程序的设第9章Visual Basic程序的设第9章30第第9 9章章 文件文件9.5 二进制文件二进制文件利利利利用用用用二二二二进进进进制制制制存存存存取取取取可可可可获获获获取取取取任任任任一一一一文文文文件件件件的的的的原原原原始始始始字字字字节节节节,即即即即不不不不仅仅仅仅能能能
52、能获获获获取取取取ASCIIASCIIASCIIASCII文文文文件件件件,而而而而且且且且能能能能获获获获取取取取非非非非ASCIIASCIIASCIIASCII文文文文件件件件的的的的原原原原始始始始字字字字节节节节。用用用用户户户户要要要要读读读读取取取取或或或或修修修修改改改改非非非非ASCIIASCIIASCIIASCII格格格格式式式式存存存存盘盘盘盘的的的的文文文文件件件件,如如如如可可可可执执执执行行行行文文文文件件件件。用下面语句可打开二进制输入用下面语句可打开二进制输入用下面语句可打开二进制输入用下面语句可打开二进制输入/ / /输出文件:输出文件:输出文件:输出文件: O
53、pen Open Open Open 文件说明文件说明文件说明文件说明 For Binary As # For Binary As # For Binary As # For Binary As #文件号文件号文件号文件号 二进制文件的关闭:同样使用二进制文件的关闭:同样使用二进制文件的关闭:同样使用二进制文件的关闭:同样使用CloseCloseCloseClose语句语句语句语句盏祭捍儒冲业纺彤硫呆堪极仲撂寻孔玄哮琴婿原艘柯鳃办绦挝砷拥窟委喻Visual Basic程序的设第9章Visual Basic程序的设第9章31第第9 9章章 文件文件9.5 二进制文件二进制文件1. 1. 1. 1
54、. 二进制存取与随机存取二进制存取与随机存取二进制存取与随机存取二进制存取与随机存取二二二二进进进进制制制制文文文文件件件件与与与与随随随随机机机机文文文文件件件件的的的的存存存存取取取取操操操操作作作作类类类类似似似似,表表表表现现现现在在在在以以以以下下下下两两两两个方式:个方式:个方式:个方式:不需要在读和写之间切换,对文件既可以读又可以写。不需要在读和写之间切换,对文件既可以读又可以写。不需要在读和写之间切换,对文件既可以读又可以写。不需要在读和写之间切换,对文件既可以读又可以写。读写随机文件的语句也可用于读写二进制文件,即:读写随机文件的语句也可用于读写二进制文件,即:读写随机文件的
55、语句也可用于读写二进制文件,即:读写随机文件的语句也可用于读写二进制文件,即: Get|Put # Get|Put # Get|Put # Get|Put #文件号,文件号,文件号,文件号, 位置位置位置位置 ,变量,变量,变量,变量其其其其中中中中“变变变变量量量量”可可可可以以以以是是是是任任任任何何何何类类类类型型型型;“位位位位置置置置”指指指指明明明明下下下下一一一一个个个个GetGetGetGet或或或或PutPutPutPut操作在文件的什么地方进行。操作在文件的什么地方进行。操作在文件的什么地方进行。操作在文件的什么地方进行。GetGetGetGet语语语语句句句句从从从从文文
56、文文件件件件中中中中读读读读出出出出的的的的字字字字节节节节数数数数等等等等于于于于“变变变变量量量量”的的的的长长长长度度度度;PutPutPutPut语语语语句句句句向向向向文文文文件件件件中中中中写写写写入入入入的的的的字字字字节节节节数数数数与与与与“变变变变量量量量”长长长长度度度度相相相相同同同同。如如如如GetGetGetGet和和和和PutPutPutPut语语语语句句句句中中中中没没没没有有有有指指指指定定定定“位位位位置置置置”,则则则则文文文文件件件件指指指指针针针针每每每每次次次次移移移移过过过过一一一一个个个个与与与与“变量变量变量变量”长度相同的距离。长度相同的距离
57、。长度相同的距离。长度相同的距离。 郊莱琼棚渤锥蚂藤滋陇留芯劲蹦腐佃龟藩涨静刽磷钠缉年驶损滤茅炎伪弱Visual Basic程序的设第9章Visual Basic程序的设第9章32第第9 9章章 文件文件9.5 二进制文件二进制文件2. 2. 2. 2. 文件指针文件指针文件指针文件指针在在在在二二二二进进进进制制制制文文文文件件件件中中中中,可可可可把把把把文文文文件件件件指指指指针针针针移移移移到到到到文文文文件件件件中中中中任任任任意意意意的的的的位位位位置置置置。文件指针的定位通过文件指针的定位通过文件指针的定位通过文件指针的定位通过SeekSeekSeekSeek语句实现。格式为:语
58、句实现。格式为:语句实现。格式为:语句实现。格式为: Seek # Seek # Seek # Seek #文件号,位置文件号,位置文件号,位置文件号,位置SeekSeekSeekSeek语语语语句句句句用用用用来来来来设设设设置置置置文文文文件件件件中中中中下下下下一一一一个个个个读读读读或或或或写写写写的的的的位位位位置置置置。“文文文文件件件件号号号号”含含含含义义义义同同同同前前前前;“位位位位置置置置”是是是是一一一一个个个个数数数数值值值值表表表表达达达达式式式式,用用用用来来来来指指指指定定定定下下下下一一一一个个个个要读写的位置。要读写的位置。要读写的位置。要读写的位置。说明:
59、说明:说明:说明:对对对对用用用用BinaryBinaryBinaryBinary、InputInputInputInput、OutputOutputOutputOutput或或或或AppendAppendAppendAppend方方方方式式式式打打打打开开开开的的的的文文文文件件件件,“位位位位置置置置”是是是是从从从从文文文文件件件件开开开开头头头头到到到到“位位位位置置置置”为为为为止止止止的的的的字字字字节节节节数数数数,即即即即执执执执行行行行下下下下一一一一个个个个操操操操作作作作的的的的地地地地址址址址。对对对对用用用用RandomRandomRandomRandom方方方方式式
60、式式打打打打开开开开的的的的文文文文件件件件,“位位位位置置置置”是一个记录号。是一个记录号。是一个记录号。是一个记录号。 捕纵融首岛险炼宣贴疑民财煎锐顷括涸幕扣敏旦等谗肮惑翌疾莱顿爵阻奥Visual Basic程序的设第9章Visual Basic程序的设第9章33第第9 9章章 文件文件9.5 二进制文件二进制文件2. 2. 2. 2. 文件指针文件指针文件指针文件指针在在在在GetGetGetGet和和和和PutPutPutPut语语语语句句句句中中中中记记记记录录录录号号号号优优优优先先先先于于于于由由由由SeekSeekSeekSeek语语语语句句句句确确确确定定定定的的的的位位位位
61、置。置。置。置。与与与与SeekSeekSeekSeek语语语语句句句句配配配配合合合合使使使使用用用用的的的的是是是是SeekSeekSeekSeek函函函函数数数数,格格格格式式式式为为为为:Seek(Seek(Seek(Seek(文文文文件号件号件号件号) ) )该函数返回文件指针的当前位置。该函数返回文件指针的当前位置。该函数返回文件指针的当前位置。该函数返回文件指针的当前位置。对对对对用用用用BinaryBinaryBinaryBinary、InputInputInputInput、OutputOutputOutputOutput或或或或AppendAppendAppendAppen
62、d方方方方式式式式打打打打开开开开的的的的文文文文件件件件,SeekSeekSeekSeek函函函函数数数数返返返返回回回回文文文文件件件件中中中中的的的的字字字字节节节节位位位位置置置置( ( (产产产产生生生生下下下下一一一一个个个个操操操操作作作作的的的的位位位位置置置置) ) )。对对对对用用用用RandomRandomRandomRandom方方方方式式式式打打打打开开开开的的的的文文文文件件件件,SeekSeekSeekSeek函函函函数数数数返返返返回回回回下下下下一一一一个个个个要要要要读读读读或或或或写的记录号。写的记录号。写的记录号。写的记录号。访访访访问问问问二二二二进进
63、进进制制制制文文文文件件件件时时时时,SeekSeekSeekSeek函函函函数数数数与与与与LocLocLocLoc函函函函数数数数给给给给出出出出相相相相似似似似的的的的结结结结果果果果。不不不不同同同同的的的的是是是是LocLocLocLoc函函函函数数数数返返返返回回回回的的的的是是是是最最最最近近近近一一一一次次次次读读读读写写写写过过过过的的的的字字字字节节节节的的的的位位位位置;而置;而置;而置;而SeekSeekSeekSeek函数返回的是下一次要读或写的字节位置。函数返回的是下一次要读或写的字节位置。函数返回的是下一次要读或写的字节位置。函数返回的是下一次要读或写的字节位置。
64、 忆霍桃譬曼寂梯脚搪柒宰惟悼措关永畴屏森喷奸究樱醚糊遁菇梁沾闻狸羊Visual Basic程序的设第9章Visual Basic程序的设第9章34第第9 9章章 文件文件9.6 常用的文件操作语句和函数常用的文件操作语句和函数9.6.1 9.6.1 9.6.1 9.6.1 文件操作语句文件操作语句文件操作语句文件操作语句1.1.删除文件删除文件可以用可以用KillKill语句实现,具体格式如下:语句实现,具体格式如下:Kill Kill 文件名文件名这里文件名可以包含路径,如执行:这里文件名可以包含路径,如执行:Kill C:WINNTTemp.datKill C:WINNTTemp.dat“
65、将删除将删除CC盘盘WINNTWINNT目录下的数据文件目录下的数据文件Temp.datTemp.dat。滁鉴除巫蓄刊甘釜掩墓栏搓炯郎刊揭韵辊淘粱肛哑曰蚕综澎鹤溜乙庆抢皋Visual Basic程序的设第9章Visual Basic程序的设第9章35第第9 9章章 文件文件9.6 常用的文件操作语句和函数常用的文件操作语句和函数9.6.1 9.6.1 9.6.1 9.6.1 文件操作语句文件操作语句文件操作语句文件操作语句2.2.文件复制文件复制用用FileCopyFileCopy语语句句可可以以把把源源文文件件复复制制到到目目标标文文件件,复复制制后后两个文件的内容完全一样。两个文件的内容完
66、全一样。不不同同目目录录之之间间文文件件的的复复制制,必必须须给给出出完完整整的的路路径径信信息息。例如:例如:FileCopy FileCopy C:Simple1Source.dat,D:Simple2Target.datC:Simple1Source.dat,D:Simple2Target.dat注注意意:该该语语句句不不能能复复制制已已经经由由Visual Visual BasicBasic打打开开的的文文件件。另另外外,通通过过结结合合使使用用KillKill语语句句和和FileCopyFileCopy语语句句,可可实实现现文文件的移动操作。件的移动操作。抿瑰附考范憋楞咬辊龄扔毫鼻背
67、周梭勘豫怖会环桑炮腊恃漆晕柄囚穗罕皆Visual Basic程序的设第9章Visual Basic程序的设第9章36第第9 9章章 文件文件9.6 常用的文件操作语句和函数常用的文件操作语句和函数9.6.1 9.6.1 9.6.1 9.6.1 文件操作语句文件操作语句文件操作语句文件操作语句3. 3. 建立和删除目录建立和删除目录在在VBVB中中可可以以通通过过MkDirMkDir语语句句建建立立一一个个目目录录,RmDirRmDir语语句句删删除一个文件目录。例如:除一个文件目录。例如: MkDir C: Firdir MkDir C: Firdir将将在在CC盘盘创创建建一一个个新新目目录
68、录C: C: FirdirFirdir(如如果果目目录录已已经经存存在了,在了,VBVB将提示出错),而语句:将提示出错),而语句: RmDir C: Firdir RmDir C: Firdir 将删除将删除C: FirdirC: Firdir目录。目录。虐练项磅孺撩苑猩最潘并遵蝶帘市阔渊妹侗绢倪嘲侧泵撤信审醚酚达匡躬Visual Basic程序的设第9章Visual Basic程序的设第9章37第第9 9章章 文件文件9.6 常用的文件操作语句和函数常用的文件操作语句和函数9.6.2 9.6.2 9.6.2 9.6.2 文件操作函数文件操作函数文件操作函数文件操作函数1 11 1FreeF
69、ile( ) FreeFile( ) FreeFile( ) FreeFile( ) 函数函数函数函数用用FreeFile( FreeFile( )函函数数可可以以得得到到一一个个在在程程序序中中没没有有使使用用的的文文件件号号。当当程程序序中中打打开开的的文文件件较较多多时时,可可以以利利用用这这个个函函数数,把把未未使使用用的的文文件件号号赋赋给给一一个个变变量量,并并且且用用这这个个变变量量做做文文件件号,而不必知道文件号是多少。其一般格式如下:号,而不必知道文件号是多少。其一般格式如下:FreeFile(rangenumber)FreeFile(rangenumber)伎嘛蜕喉匿掌枕烟
70、渊橙耍盲驱奋秤拎傈彦复容座吁炸悄塑约惋阑亚硅很望Visual Basic程序的设第9章Visual Basic程序的设第9章38第第9 9章章 文件文件9.6 常用的文件操作语句和函数常用的文件操作语句和函数9.6.2 9.6.2 9.6.2 9.6.2 文件操作函数文件操作函数文件操作函数文件操作函数2 22 2FileLen( ) FileLen( ) FileLen( ) FileLen( ) 函数函数函数函数此此函函数数返返回回以以PathNamePathName参参数数指指定定的的文文件件的的长长度度,单单位位为为字节,一般格式如下:字节,一般格式如下:FileLen(PathNam
71、e)FileLen(PathName)使使用用该该函函数数,目目标标文文件件不不要要求求打打开开,如如果果文文件件已已经经打打开开,则返回打开前的文件长度。则返回打开前的文件长度。3 33 3Loc( ) Loc( ) Loc( ) Loc( ) 函数函数函数函数Loc( Loc( )函函数数返返回回由由文文件件号号指指定定的的文文件件中中读读/写写的的位位置置。一般格式如下:一般格式如下:Loc(Filenumber)Loc(Filenumber)对对于于随随机机文文件件,它它将将返返回回上上一一次次对对文文件件进进行行读读出出或或写写入入的的记记录录号号;对对于于顺顺序序文文件件,返返回回
72、文文件件中中当当前前字字节节位位置置除除以以128128所所得得的的值值;对对于于二二进进制制文文件件,返返回回上上一一次次对对文文件件进进行行读读出或写入的字节位置。出或写入的字节位置。缓做肢广滤零底葱理帐犬兆普屿烛苛瑚赊弛雷康鸭库倒绘臼私浆角科甘拓Visual Basic程序的设第9章Visual Basic程序的设第9章39第第9 9章章 文件文件9.6 常用的文件操作语句和函数常用的文件操作语句和函数9.6.2 9.6.2 9.6.2 9.6.2 文件操作函数文件操作函数文件操作函数文件操作函数4 44 4LOF( )LOF( )LOF( )LOF( )函数函数函数函数LOFLOF函数
73、将返回指定文件的字节数。一般格式如下:函数将返回指定文件的字节数。一般格式如下:LOF(Filenumber)LOF(Filenumber)其其中中,FilenumberFilenumber的的含含义义同同前前,返返回回一一个个用用OpenOpen语语句句打打开开的的文文件件的的大大小小,该该大大小小以以字字节节为为单单位位。如如果果LOFLOF函函数数返返回回00值,代表文件为空文件。值,代表文件为空文件。5 55 5EOF( ) EOF( ) EOF( ) EOF( ) 函数函数函数函数EOF( EOF( )函函数数返返回回一一个个表表示示文文件件指指针针是是否否到到达达文文件件末末尾尾的
74、的标志。一般格式如下:标志。一般格式如下:EOF(Filenumber)EOF(Filenumber)勃碌痔离缆睬架敷儡亩您生菩尖浮均酶辜棍硷秸绷郭袖秆渍招唱孪伤朵破Visual Basic程序的设第9章Visual Basic程序的设第9章40第第9 9章章 文件文件9.6 常用的文件操作语句和函数常用的文件操作语句和函数9.6.2 9.6.2 9.6.2 9.6.2 文件操作函数文件操作函数文件操作函数文件操作函数其其中中,文文件件指指针针是是打打开开文文件件后后自自动动生生成成的的,文文件件的的读读或或写写都都从从这这个个指指针针所所指指的的位位置置开开始始。用用AppendAppend
75、方方式式打打开开的的文文件件,文文件件指指针针指指向向文文件件的的末末尾尾,其其他他几几种种方方式式,文文件件指指针针都都指指向向文文件件的的开开头头。完完成成一一次次读读/写写操操作作后后,文文件件指指针针自自动动移移到到下下一一个个读读/写写操操作作的的起起始始位位置置,移移动动量量大大小小由由OpenOpen语语句句和读和读/写语句中的参数共同决定。写语句中的参数共同决定。文文件件指指针针如如到到了了文文件件末末尾尾,EOFEOF函函数数返返回回TrueTrue(-1-1),否否则则返返回回FalseFalse(00)。对对于于顺顺序序文文件件,用用EOFEOF函函数数测测试试是是否否到
76、到了了文文件件尾尾;对对于于随随机机文文件件和和二二进进制制文文件件,如如果果最最后后执执行行的的GetGet语语句句未未能能读读到到一一个个完完整整记记录录,则则返返回回TrueTrue,否否则则返返回回FalseFalse。转咋眶上洁扎越誊素免伴包懂焰获授宗疆拌娇酉汗痊矾稀沃跪康代臃滨柑Visual Basic程序的设第9章Visual Basic程序的设第9章41第第9 9章章 文件文件9.6 常用的文件操作语句和函数常用的文件操作语句和函数9.6.2 9.6.2 9.6.2 9.6.2 文件操作函数文件操作函数文件操作函数文件操作函数6 66 6Dir( ) Dir( ) Dir( )
77、 Dir( ) 函数函数函数函数Dir( Dir( )函函数数用用来来测测试试一一个个指指定定的的路路径径下下是是否否有有指指定定的的文文件件和和文文件件夹夹(目目录录),被被测测试试的的文文件件或或文文件件夹夹可可以以包包含含通通配配符符“*”和和“?”。除除了了文文件件和和文文件件夹夹外外,还还可可以以指指定定其其属属性性。具体的语法格式如下:具体的语法格式如下:Dir(PathName , Attributes)Dir(PathName , Attributes)其其中中,参参数数PathNamePathName是是用用来来指指定定路路径径与与文文件件名名的的字字符符串串表达式。参数表达式。参数AttributeAttribute用来指定文件和文件夹的属性。用来指定文件和文件夹的属性。盎趾罩渗函幸逆睛轴蘸唱揩含宝药积浑壕恩付匡缉柴搪秋宦争觉择邦闹舶Visual Basic程序的设第9章Visual Basic程序的设第9章42第第9 9章章 文件文件9.7 应用举例应用举例例例9-79-7编写一个记事本程序。编写一个记事本程序。运行例运行例9-79-7程序程序绎逛忙豫娩痈霞踩泪盲绪崩缆澜阅添席傅叁乙辗业铂篡献里尝菌硝滑寿氮Visual Basic程序的设第9章Visual Basic程序的设第9章