admin 管理员组

文章数量: 1086019


2024年3月27日发(作者:商城系统名称)

8.7 文件操作

[复习目标]

1.掌握文件的基本概念:文件的存取方式及文件类型、文件的基本操作步骤(打开、

读/写及关闭);

2.了解基本文件操作控件:驱动器列表控件、文件夹列表控件及文件列表控件;

3.掌握常用文件操作语句(Open、Close、Seek)及文件操作函数(Eof、Seek);顺序

文件的打开、读/写及关闭;

4.了解常用常用文件操作语句(Lock、Unlock)及文件操作函数(FileAttr、FireLen、

FreeFile、Lof、Loc);随机文件及二进制文件的打开、读/写及关闭。

[知识要点]

一.文件种类

根据数据性质,文件可分为程序文件和数据文件。

1.程序文件:这种文件存放的是由计算机执行的程序支件和可执行文件。

2.数据文件:数据文件用来存放普通的数据。例:学生成绩、职工工资。

数据文件的类型:顺序文件.随机文件.二进制文件。

(1)顺序文件:文件中数据是以ASCII码方式存储的。(.txt 文件)

特点:其中的数据只能顺序地访问。(访问:指 读 或 写)

(2)随机文件:由一组相同长度的记录组成,记录中的每个字段的长度也是固定的。

此外随机文件的每个记录都有一个记录号。

特点:其中的数据可随意访问。

(3)二进制文件:以二进制方式保存的文件。

特点:①其中的数据是顺序访问的。

②与随机文件相比,不必定义多个数据组成的一条记录的类型,不必指明它

的长度。

二.顺序文件

1.打开文件

先打开后才能使用,如果一个文件已经存在,则打开该文件;如果不存在则建立该文件

语句格式:Open文件名As[#]文件号

方式 Output顺序输出方式

lnput顺序输入方式

Append指定顺序输出方式与 Output不同,当用 Append方式打开文件时,文件指针被

定位在文件末尾

2.顺序文件写操作

(1)Print#语句

格式Print#文件号,Tab(n)[表达式表][;|,]]

功能:把数据写入文件中

(2) Write#语句

格式: Write#文件号,表达式表

说明:①文件号和表达式表的含义同前,用Write#语句时,文件必须以 Output或

Append方式打开,表达式表中的各项以逗号分开。

②Write#语句与Print#语句的功能基本相同,主要区别有两点:一是当用 Write#语

句向文件写数据时,数据在磁盘上以紧凑格式存放,能自动地在数据项之间插入逗号,并给

字符串加上双引号。一旦最后一项被写入,就插入新的一行;二是用 Write#语句写入的正

数的前面没有空格。

3.顺序文件读操作

(1)Input #语句

格式:Input #文件名,变量表

从一个顺序文件中读出数据项,并把这些数据项赋给程序变量。

例Input#1,A.B,C

①用Input#语句把读出的数据赋给数值变量时,将忽略前导空格.回车或换行符,

遇到空格、回车和换行符,作为数值的开始,遇到空格回车或换行符则认为数值结束。

② Input#与 Input Box函数类似,但 Inputbox要求从键盘上输入数据,而Input

语句要求从文件中输入数据,而且执行 Input#语句时不显示对话框。

(2)Line Input#语句

格式:Lineinput#文件号,字符串变量

从顺序文件中读取一个完整的行,并把它赋给一个字符串变量。

Line Input#也可用于随机文件常用来复制文件

(3)Input$函数

格式:Input$(n,#文件号)

例:x$= Input5(100,#1)

表示从文件号为1的文件中读取100个字符,并把它赋给变量x$

4.关闭文件

Close[#]文件号,[#]文件号…]

三.随机文件

特点:

(1)记录是定长记录,只有给出记录号n,才能通过“(n-1)x记录长度”计算出该记

录与文件首记录的相对地址

(2)每个记录划分为若干个字段,每个字段的长度等于相应的变量的长度

(3)打开随机文件后,即可读也可写

(4)随机文件以记录为单位进行操作

1.定义数据类型

随机文件由固定长度的记录组成,每个记录含有若干个字段,记录中的各个字段可以放

在一个记录类型中,记录类型用Type…End Type语句定义,通常在标准模块中使用,

如果放在窗体模块中加上 Private.

2.打开随机文件

与顺序文件不同,打开随机文件,即可用于写操作也可用于读操作。

一般格式为:Open“文件名称” For Random As#文件号

记录长度等于各字段长度之和如果省略Len=记录长度,则记录的默认长度为128个字

节。

3.将内存中的数据写入磁盘

Put#文件号,[记录号],变量

(1)文件号同前,记录号是需要写入的编号,如果省略记录号,则写到下一个记录位

置,即最近执行Get或Put语句后或由最近的Seek语句所指定的位置。省略记录号后,逗

号不能省略。

例:Put#2, Filebuff

(2)如果所写的数据的长度小于在Open语句的Len子句中所指定的长度,Put语句仍


本文标签: 文件 记录 数据 语句 长度