在程序中访问顺序文件通常有3个步骤:打开、读取或写入、关闭。 1.打开文件。 在对顺序文件进行操作之前,必须使用Open语句打开它,同时要告诉操作系统对文件进行什么操作。 Open语句的一般形式如下: Open <文件名> For <访问模式>] [Access<操作类型)][锁定]As[#]<文件号>
[Len=<记录长度>] 其中各参数的含义如下: 文件名:是指要访问的顺序文件的名称以及文件所在的路径。 文件的访问模式是指要对文件进行什么操作,有以下3种模式: OUTPUT:对文件进行写操作,即将数据写入文件。
INPUT:对文件进行读操作,即将数据从文件中读入内存。
APPEND:将数据追加到文件末尾。 操作类型用来规定对被打开文件所能进行的操作,有以下3种类型: READ:只读。
WRITE:只写。
READWRITE:读写都可以。 锁定:用来规定是否允许其他进程对本次打开的文件进行访问,有以下3种情况: Shared:共享,即允许其他进程对本次打开的文件进行读写操作。这也是默认设置。
Lock Read:禁止其他进程对本次打开的文件进行读操作。
Luck Write;禁止其他进程对本次打开的文件进行写操作。
Lock Read Write:禁止其他进程对本次打开的文件进行读写操作。 文件号:为被打开的文件指定一个文件号,在以后访问该文件时,以文件号来代表文件。文件号的取值为1~511之间的整数。每个文件号对应唯一的一个文件,不能将已使用的文件号再指定给其他文件。 记录长度:用来指定数据缓冲区的大小,其值范围为小于或等于3767的整数。 提示:如果以OUTUP访问模式或打开一个不存在的文件,则VB会自动创建一个相应的文件。 2.关闭文件。 在对打开的文件进行各种操作后,还必须将其关闭,否则会造成数据的丢失。 实际上,对顺序文件进行写操作时,将数据写入的是缓冲区,只有关闭文件时才将缓冲区中的数据全部写入文件。 使用Close语句可关闭文件,其形式如下: Close[#文件号>][,<文件号>]… 文件号是指使用Open语句打开文件时为文件指定的文件号。如果在Close语句中忽略文件号,则会关闭所有己打开的文件。 例如; Close #1 关闭1号文件
Close #2,#3,#4 关闭2号、3号和4号文件 3.写操作。 如果顺序文件以OUTPUT模式或APPEND模式打开,就可以使用Write或Print语句向该文件写入数据。 (1)Print语句
Open “e:\mytext.txt” For Output As #1 Print #1.Spc(5);“人员资料” Print #1 空行 Print #1. “云 云”,“女”,“22” Print #1. “郝 云”;“男”,“23” Print #1. “王 垠”,“女”,“23” Print #1.
|
该代码被执行后,会在E盘新建一个mytext.txt文件,使用Windows自带的记事本可以查看该文件的内容及格式。如果mytext.txt文件已存在,则其原来的内容将被新的内容覆盖掉。这是因为打开文件的模式为OUTPUT,如果以APPEND模式打开文件,则新内容会追加到原内容之后。 在实际编程中,经常要将文本框中的文本以文件的形式保存到磁盘_上,这时也可以使用Print语句来实现。 例如,下列代码是将文本框(Textl)中的内容保存到D盘上,文件名为Test.txt. Open “d:\Test.txt” For Output As #1
Print #1,Text1.Text
Close #1 (2)Write语句。 语法:Write #<文件号>,[输出列表] Write语句与Print语句基本相同,各数据项之间以逗号隔开。区别在于Write语句以紧凑格式存放,且同时输出字符串上的双引号与数据项之间的逗号。 例如: Print #1, “云 云”,“女”,“22” 写入文件的内容与格式为:云 云 女 22 Write #1,“ 云 云”,“女”,“22” 写入文件的内容与格式为:“云 云”,“女”,“22”
4.读操作。 读操作是指将文件中的数据读取到变量中。如果文件以INPUT模式打开,就一可以使用Input语句、Line Input语句或Input函数对文件进行读操作。 (1)Input语句语法:Input #<文件号>,<变量列表> 变量用来存放从文件中读取的数据,各变量以逗号隔开,变量的类型应该与文件中所存储的数据类型一致。在读取数据后,各数据项分别存放在所对应的变量中。 例如,如果存放在E盘中的Test.txt文件的内容及格式为: 云 云,女,22
王 垠,男,21
····· 执行下列代码可将该文件中的内容打印在窗体上。
Open “C:\Tect.txt” For Input As #1 Do while Not EOF(1) Input #1,a,b,c 将3个数据项分别存放在3个变量中。 Print a,b,c Loop Close #1 云 云 女 22 王 垠 男 21 ····
|
(2)Line Input语句。 语法:Line Input#<文件号),<变量> 该语句以行来读取数据,并存放在变量中,它不把逗号当作数据项的分界符。变量必须是字符串型或变体型。 例如,使用Line Input语句在窗体上打印Test.txt文件内容的代码如下: 结果如下 云 云,女,22
王 垠,男,21 (3) Input函数。 语法:Input(n,#<文件号>)Input函数可以从文件中读取指定个数的字符,其中字符中包括空格、逗号、双引号和回车符等。参数n用来指定要读取的字符个数。 例如, Open “e:\Test.txt” For Input As #1
Print Input(8,#1) 在窗体上打印文件Test.txt中的前12个字符
Close #1 结果如下: 云 云,女,2
|