21世纪高等学校计算机基础教育系列教材 Bsc中的文件作 电出版
第10章 Visual Basic中的文件操作 •人民邮电出版社 21世纪高等学校计算机基础教育系列教材
文件概述 文件是把数据记录在外存储器上的集合。 ◆数据的特定的存放方式叫做文件结构,vb中文件有记录组成,记录由字 段组成,字段有字符组成 字符( character)是构成文件的基本单位,字符可以是字母、数字、特 殊符号、或单一字节,一个字符用一个字节存放(西文),汉字字符包 括汉字和全角符号,用两个字节存放。Vb支持双字节字符,当计算字符 串长度时,一个西文字符和一个汉字字符的长度均为1,但存储空间不 样 ◆Len(“Vb程序设计”)=6但占用存储空间是10字节 ◆字段(feld):也叫域,有若干个字符组成,表示一个数据项。 记录( record):有一组相关的字段组成 文件(fle):由记录组成,一个文件含有一条以上的记录 文件的种类 根据分类标准不同,文件的分类也不同
文件概述 文件是把数据记录在外存储器上的集合。 文件结构 数据的特定的存放方式叫做文件结构,vb中文件有记录组成,记录由字 段组成,字段有字符组成。 字符(character)是构成文件的基本单位,字符可以是字母、数字、特 殊符号、或单一字节,一个字符用一个字节存放(西文),汉字字符包 括汉字和全角符号,用两个字节存放。Vb支持双字节字符,当计算字符 串长度时,一个西文字符和一个汉字字符的长度均为1,但存储空间不 一样。 Len(“Vb程序设计”)=6 但占用存储空间是10字节。 字段(field):也叫域,有若干个字符组成,表示一个数据项。 记录(record):有一组相关的字段组成。 文件(file):由记录组成,一个文件含有一条以上的记录。 文件的种类 根据分类标准不同,文件的分类也不同
文件的分类依据及类别 ◆根据数据性质:程序文件和数据文件 ◆根据存放方式和结构:顺序文件和随机文件 顺序文件,结构比较简单,按次序排放记录,维护困难,存取不灵活, 但占用空间少,容易使用。 ◆随机文件,也称直接存取文件,在访问时不考虑各记录的位置或顺序, 可根据需要访问任意记录,各记录长度固定,均有记录号,只要知道记 录号就可以随机文件进行存取,可同时进行读写操作,可以快速修改 查询记录,比较灵活、方便,速度快,易修改,但占用空间大,数据组 织较复杂。 ◆根据编码方式:asc文件和二进制文件
文件的分类依据及类别 根据数据性质:程序文件和数据文件 根据存放方式和结构:顺序文件和随机文件 顺序文件,结构比较简单,按次序排放记录,维护困难,存取不灵活, 但占用空间少,容易使用。 随机文件,也称直接存取文件,在访问时不考虑各记录的位置或顺序, 可根据需要访问任意记录,各记录长度固定,均有记录号,只要知道记 录号就可以随机文件进行存取,可同时进行读写操作,可以快速修改、 查询记录,比较灵活、方便,速度快,易修改,但占用空间大,数据组 织较复杂。 根据编码方式:ascii文件和二进制文件
打开关闭文件 b中,数据文件的操作按下列步骤进行: 打开(或建立)文件2.进行读、写操作3关闭文件 一文件打开 open文件名[for方式] access存取类型][锁定]as文件号[en=记录长度 方式 output顺序输出方式 input顺序输入方式 append指定顺序输出方式 文件尾 Random随即存取方式(默认方式) binary二进制方式文件 Random方式中,如果不指定 access,则试图按以下次序打开文件 读/写只读只写 Binary/方式中,用Ee和请句对文件中任何字节位置的信息进行读写,如果没有aes句,和上面 存取类型 Read只读 write只写 read write读写(只对二进制文件、随机文件和 append方式有用。 锁定:在多用户或多进程的环境下使用。默认请况下,在文件打开期间,出奔晋城外的其他进程是不允 许存取文件的,主要有以下几类锁定方式: Lock shared任何机器上的任何进程都可以存取该文件 ◆ Lock read不允许其他进程读文件 Lock write不允许其他进程写文件 Lock read write不允许其他进程读写文件。默认方式 文件号:整型表达式,1-511 记录长度:整型表达式。<=32767,默认512时决定打开文件的缓冲区大小的一个选项。 为满足不同需要,可以对一个文件用几个不同的文件号打开。 0pen语句同时有建立和打开文件的功能。 文件关闭: close[#文件号],如果没有指定文件号,则关闭所有打开的文件
打开关闭文件 Vb中,数据文件的操作按下列步骤进行: 1. 打开(或建立)文件 2. 进行读、写操作 3.关闭文件 文件打开 Open 文件名 [for 方式] [access 存取类型] [锁定] as [#] 文件号 [ len=记录长度] 方式: output 顺序输出方式 input 顺序输入方式append 指定顺序输出方式 Append和output的区别:output指针置于文件头,append指针置于文件尾 Random 随即存取方式(默认方式) binary 二进制方式文件 Random方式中,如果不指定access,则试图按以下次序打开文件 读/写 只读 只写 Binary方式中,用get和put语句对文件中任何字节位置的信息进行读写,如果没有access语句,和上面 random方式中的次序一致 存取类型: Read 只读 write 只写 read write 读写(只对二进制文件、随机文件和append方式有用。) 锁定:在多用户或多进程的环境下使用。默认请况下,在文件打开期间,出奔晋城外的其他进程是不允 许存取文件的,主要有以下几类锁定方式: Lock shared 任何机器上的任何进程都可以存取该文件 Lock read 不允许其他进程读文件 Lock write 不允许其他进程写文件 Lock read write 不允许其他进程读写文件。默认方式。 文件号:整型表达式,1-511 记录长度:整型表达式。<=32767,默认512时决定打开文件的缓冲区大小的一个选项。 为满足不同需要,可以对一个文件用几个不同的文件号打开。 Open语句同时有建立和打开文件的功能。 文件关闭:close [#文件号],如果没有指定文件号,则关闭所有打开的文件
文件操作语句与函数 文的主要操作:读和写 ◆文件指针,文件打开后自动生成一个隐含的文件指针,文件的读写操作就从指针出开始。 文件指针定位用: #文件号,位置来实现,指针位置取值范围在1-(232-1)间 可以用seek函数来判断指针位置seek(文件号)取得一个在1-(232-1)之间的数 Freefile可以得到一个在程序中一打开但还没有使用的文件,也可以利用本函数把为使用的 文件号给一个变量,从而可以直接引用文件号变量,而省去了记忆文件号的麻烦。 Private Sub Form Click FileName$= InputBox$("输入要打开的文件得文件名") ◆ filenum= FreeFile freeride财文件号 hangopend as file 1 Open FileName S For Output As filenum maopend as file 1 Print FileName S; "opend as file filenum Close #filenum 关闭文件并退出 End Sub Private Sub Command1 Click freebie文件号 Close zhangopend as file 1 王 opend as file#2 End End sub 闭文件并退出
文件操作语句与函数 文件的主要操作:读和写 文件指针,文件打开后自动生成一个隐含的文件指针,文件的读写操作就从指针出开始。 文件指针定位用: seek #文件号, 位置 来实现,指针位置取值范围在1-(232-1)间 可以用seek函数来判断指针位置 seek(文件号) 取得一个在1-(232-1)之间的数。 Freefile 可以得到一个在程序中一打开但还没有使用的文件,也可以利用本函数把为使用的 文件号给一个变量,从而可以直接引用文件号变量,而省去了记忆文件号的麻烦。 Private Sub Form_Click() FileName$ = InputBox$("输入要打开的文件得文件名") filenum = FreeFile Open FileName$ For Output As filenum Print FileName$; "opend as file #"; filenum Close #filenum End Sub Private Sub Command1_Click() Close End End Sub