| 当前位置:洪恩在线
-> 继续教育 ->
计算机考级 -> 二级QBASIC语言 |
|
|||||||||||
|
1.顺序文件的概念
顺序存取文件(Sequence Access File)简称顺序文件,它的特点是:文件中各记录写入、存放和读出三者的顺序是一致的。也就是说,最先写入的记录放在文件中最前面,第二次写入的记录放在第1个记录的后面,最后一次写入的记录放在文件中的最后。从外存文件读出数据时,先读第1个记录,接着第2个记录,顺序读下去。 顺序文件中记录的逻辑顺序与物理顺序是一致的。所谓“逻辑顺序”是指写入的顺序依次为第一次,第二次等;所谓“物理顺序”是指实际存放在外存中的位置依次排在第一个记录,第二个记录等等。只有顺序文件有这个二者一致的特点:先进先出,后进后出,且先进者排在前。下一节介绍的随机文件不具有这个特点,即先写入的不一定放在文件的最前面,先写入的也不一定先读出。 从顺序文件中读记录,必须从第一个记录读起,不能从中间记录读起。如果有一个包含1000个记录的文件,要读第999个记录,必须先读完前面998个记录,所以效率较低。 顺序文件是以ASCII代码方式存放数据的。可以在DOS环境中用TYPE命令显示和打印文件内容。 2.顺序文件的打开和关闭 在使用一个顺序文件之前,必须用OPEN语句“打开”该文件,在使用完一个文件后,要用CLOSE语句将它“关闭”。 (1)OPEN语句 OPEN语句的格式为:OPEN<文件名>FOR<读写方式>AS#<文件号> 其中:文件名指欲打开的已存入的文件名。如果原来不存在此文件,想新建立一个文件,则在此处应自己指定一个欲新建的文件名,供向外存写文件之用。 读写方式可选以下三者之一: OUTPUT:指定向文件写数据,即从计算机向文件输出数据。 INPUT:指定向计算机输入数据,即计算机从文件读入数据。 APPEND:指定写数据,但与OUTPUT方式有所不同,对己存入的文件写入的记录添加在原有所有记录的后面,即“扩充记录”。对新建的文件,则从第一个记录开始写。 文件号:即前面介绍过的缓冲区号。在OPEN语句中把文件名与指定的文件号即缓冲区号联系起来,表示输入或输出的数据要用该缓冲区作为过渡。在OPEN语句指定了文件名与文件号之后,在程序的读写语句中就可以只指定文件号而不必再指出文件名了,即在读写语句中以文件号代替文件名,这样使用起来就较为方便。文件号应是1到255中的一个整数。如果程序中用到3个文件,文件号可以任意指定(如12,17,38),不一定顺序指定为1,2,3。 在执行OPEN语句时,应注意: ①若以OUTPUT方式打开一个文件,不论所指定的文件名在磁盘中是否存在,都意味着建立一个新的数据文件。也就是说,如果原来无此文件名,则用此文件名建立一个新文件。如果原来己有此文件名,且文件中己有数据,在打开文件时,原有的数据均被删去,将从头开始写入数据,相当于建立一个新文件。在执行此OPEN语句时,文件指针指向文件的开头位置,以后从此位置开始写入数据。因此,用OUTPUT方式打开一个已存在的文件时应十分谨慎,以免使原有文件中的数据丢失。 ②如果INPUT方式打开一个文件,此文件名必须是已存在的,因为所打开的是一个供读取的文件。打开时,文件指针指向文件中第一个记录,程序中的读语句从第一个记录开始顺序读入数据。 ③如果用APPEND方式打开文件,文件指针指向文件的末尾,以便新添加的记录接着写到它的后面,若指定的文件名不存在,则系统会新建一个文件,并将指针指向文件开头,因为文件中原来并无任何记录存在。此时相当于用 OUTPUT方式打开一个输出的文件,因此用APPEND方式比较保险,无论是对新文件的写入或者文件的读写,都能适用,不会像OUTPUT方式那样在打开文件时,原有的数据均被删去,造成丢失数据。 ④执行OPEN语句时,系统自动建立相应的缓冲区,以便为数据的输入/输出作好准备。 (2)CLOSE语句 用来关闭一个己用完不再使用的文件,其格式为:CLOSE[#<文件号>][,#<文件号>]…… 如:CLOSE #1,#2 表示关闭#1,#2文件缓冲区,也就是关闭相应的文件。如不指定文件好,则表示关闭所有以打开的文件,此时的形式为:CLOSE 执行CLOSE语句时,释放相关的文件缓冲区,这样就停止了对文件的读写操作。如还需要读写,则应在使用OPEN语句。
课堂提问: |
|
|
|||||||||