本章的习要点 今文件的分类 今文件操作语句和函数 顺序文件的读写 随机文件的读写与记录的操作
第11章 文件 本章的学习要点 ❖文件的分类 ❖文件操作语句和函数 ❖顺序文件的读写 ❖随机文件的读写与记录的操作
11.1文件概述 计算机的数据文件按数据的存放方式分为三种类型: 顺序型文件 连续存放的文本数据。此文件中通常记录与记录之间 的分界符为回车符;记录中字段与字段之间的分界符为 逗号。 2.随机型文件 有固定记录结构长度的文本数据。随机文件的每一个 记录都有固定的长度,每一个记录都有一个记录号,在 存入数据时,只需指明是第几个记录号,就可以把数据 存入制定位置。 3.二进制型文件 存储二进制数据。数据以二进制格式保存,存储单位 为字节
计算机的数据文件按数据的存放方式分为三种类型: 1. 顺序型文件 连续存放的文本数据。此文件中通常记录与记录之间 的分界符为回车符;记录中字段与字段之间的分界符为 逗号。 2. 随机型文件 有固定记录结构长度的文本数据。随机文件的每一个 记录都有固定的长度,每一个记录都有一个记录号,在 存入数据时,只需指明是第几个记录号,就可以把数据 存入制定位置。 3. 二进制型文件 存储二进制数据。数据以二进制格式保存,存储单位 为字节。 11.1 文件概述
112顺序文件 1.顺序文件的打开 顺序文件按行存储,依次将记录顺序存储,当读出某些 数据时,需要从第一条记录开始读取数据,直到找到所需 要的记录为止。 在对文件进行操作之前,必须打开文件,同时要通知操 作系统对文件进行读操作还是写操作,将数据存到什么地 方。 语法格式: open“文件名”For模式As[文件号[en=记录长度
11.2 顺序文件 1.顺序文件的打开 顺序文件按行存储,依次将记录顺序存储,当读出某些 数据时,需要从第一条记录开始读取数据,直到找到所需 要的记录为止。 在对文件进行操作之前,必须打开文件,同时要通知操 作系统对文件进行读操作还是写操作,将数据存到什么地 方。 语法格式: Open “文件名” For 模式 As [#] 文件号 [len=记录长度]
112顺序文件 1)文件名:文件名可以是字符串常量也可以是字符串变量。 2)模式 0 utPut:打开一个文件,对该文件进行写操作,即将数据写入 磁盘文件。0 utput选项模式打开一个不存在的文件时,VB会在 磁盘上创建一个新的顺序文件。文件打开后文件的指针位于文 件开头,准备向文件写入数据。若磁盘上有同名文件则该文件 将被覆盖。 今 Input:打开一个文件,对该文件进行读操作,即将数据从文件 中读入内存。注:文件必须存在,否则将出现错误。 Append:打开一个文件,在该文件末尾追加记录。打开或创建 一个新的顺序文件,文件打开后文件指针位于文件的末尾准备 向文件的尾部追加数据。若磁盘上没有该文件,则创建一个新 的文件
1)文件名:文件名可以是字符串常量也可以是字符串变量。 2)模式: ❖ OutPut:打开一个文件,对该文件进行写操作,即将数据写入 磁盘文件。Output选项模式打开一个不存在的文件时,VB会在 磁盘上创建一个新的顺序文件。文件打开后文件的指针位于文 件开头,准备向文件写入数据。若磁盘上有同名文件则该文件 将被覆盖。 ❖ Input:打开一个文件,对该文件进行读操作,即将数据从文件 中读入内存。注:文件必须存在,否则将出现错误。 ❖ Append:打开一个文件,在该文件末尾追加记录。打开或创建 一个新的顺序文件,文件打开后文件指针位于文件的末尾准备 向文件的尾部追加数据。若磁盘上没有该文件,则创建一个新 的文件。 11.2 顺序文件
112顺序文件 3)文件号:文件号是一个介于1-511之间的整数,打开一个 文件时需要指定一个文件号,这个文件号就代表该文件, 直到文件关闭后这个号才可以被其他文件所使用,同时被 打开的每个文件的文件号不能同。 v: Open"D: Isj\aaa"For OutputS#1 含义是:打开D∷\sj目录下的a文件供写入数据,文件 号为#1。 Open bbB. txt"For Input As #2 含义是:打开当前目录下的bbB.txt文件供读数据,文件 号为#2
3)文件号:文件号是一个介于1-511之间的整数,打开一个 文件时需要指定一个文件号,这个文件号就代表该文件, 直到文件关闭后这个号才可以被其他文件所使用,同时被 打开的每个文件的文件号不能同。 例 : 含义是:打开D:\ sj目录下的aaa文件供写入数据,文件 号为# 1。 含义是:打开当前目录下的bbB.txt文件供读数据,文件 号为# 2。 11.2 顺序文件 Open "D:\sj\aaa" For Output As #1 Open " bbB.txt" For Input As #2
112顺序文件 2.顺序文件的关闭 结束各种读写操作后,必须将文件关闭,否则会造成数据丢失。 关闭文件的命令是 Close语句。 语法格式: Close|#文件号1#文件号2 说明: (1)文件号是指利用0pen语句打开文件时指定的文件号 (2)此语句可以同时关闭多个已打开的文件,用逗号分隔文件号。 (3)若省略文件号,表示关闭所有己经打开的文件 例: Close#1,#2,#3’关闭文件号分别为1、2、3的文件。 Close 关闭所有已打开的文件
2. 顺序文件的关闭 结束各种读写操作后,必须将文件关闭,否则会造成数据丢失。 关闭文件的命令是Close语句。 语法格式: 说明: (1)文件号是指利用Open语句打开文件时指定的文件号。 (2)此语句可以同时关闭多个已打开的文件,用逗号分隔文件号。 (3)若省略文件号,表示关闭所有已经打开的文件 11.2 顺序文件 Close [#文件号1][,#文件号2]…… 例 : Close #1,#2,#3 ’关闭文件号分别为1、2、3的文件。 Close ’关闭所有已打开的文件
112顺序文件 3顺序文件的写操作 以 OutPut和 Append模式打开的文件可以进行写操作,对顺序 文件能够进行写操作的语句有Pin#和 Write#两个,用来向 已经打开的顺序文件写入数据。 1. Print#语句 语法格式: Print#文件号,[输出列表] 说明:此语句的功能和 Print语句类似,不同的是,此处是 将输出列表项写入到文件中。 (1)输出列表项可以是常量、变量或表达式,输出列表项多于 个时,各项之间可以用逗号或分号分隔,其含义与 Print语句 的紧凑格式和标准格式相同。 (2)在输出列表项中也可使用Spc(n)函数向文件中写n个空格, 或使用Tab(n)函数指定其后的输出项从第n列输出
3.顺序文件的写操作 以OutPut和Append模式打开的文件可以进行写操作,对顺序 文件能够进行写操作的语句有Print #和Write #两个,用来向 已经打开的顺序文件写入数据。 1.Print #语句 语法格式: 说明:此语句的功能和Print语句类似,不同的是,此处是 将输出列表项写入到文件中。 (1)输出列表项可以是常量、变量或表达式,输出列表项多于 一个时,各项之间可以用逗号或分号分隔,其含义与Print语句 的紧凑格式和标准格式相同。 (2)在输出列表项中也可使用Spc(n)函数向文件中写n个空格, 或使用Tab(n)函数指定其后的输出项从第n列输出。 11.2 顺序文件 Print #文件号, [输出列表]
112顺序文件 2.Wite#语句 语法格式: Write#文件号,[输出列表] Write#语句的功能和 Print#语句的功能基本相同,都 是将输出项写入指定文件中,不同的是: (1) Write#语句在文件中的各个输出项都以紧缩格式输出, 并自动在输出项之间插入逗号分隔。 (2) Write#语句为文件中的字符串加上双引号
2.Write #语句 语法格式: Write #语句的功能和Print #语句的功能基本相同,都 是将输出项写入指定文件中,不同的是: (1)Write #语句在文件中的各个输出项都以紧缩格式输出, 并自动在输出项之间插入逗号分隔。 (2)Write #语句为文件中的字符串加上双引号。 11.2 顺序文件 Write #文件号, [输出列表]
112顺序文件 4.顺序文件的读操作 可以使用 Input#语句、 Line Input#语句或者 Input函数 从文件中读出(输入)数据。 与读文件操作有关的两个函数: LOF(n):返回某文件n的字节数。 EOF(n):检查文件n是否到达文件尾 1. Input#语句 语法格式: Input#文件号,变量列表 说明:该语句作用是将从文件中读出的数据分别赋给指定的 字符变量。变量个数多于一个时,用逗号分隔
4. 顺序文件的读操作 可以使用Input #语句、Line Input #语句或者Input()函数 从文件中读出(输入)数据。 与读文件操作有关的两个函数: 1.Input #语句 语法格式: 说明:该语句作用是将从文件中读出的数据分别赋给指定的 字符变量。变量个数多于一个时,用逗号分隔。 11.2 顺序文件 LOF(n):返回某文件n的字节数。 EOF(n):检查文件n是否到达文件尾。 Input #文件号,变量列表
112顺序文件 2. Line Input#语句 语法格式: ine Input#文件号,变量列表 Li 该语句从指定文件号的文件中读出一行数据并将其赋值给字 符串变量。 注意: Line Input#语句与 Input#语句类似,但 Input#语 句读取的是数据项,而 Line input#语句读取的是一行数据。 3. Input()函数 语法格式: Input( length,#文件号>) 该语句可以读取指定字符长度的数据。也可写为 Input$()
11.2 顺序文件 2. Line Input #语句 语法格式: 该语句从指定文件号的文件中读出一行数据并将其赋值给字 符串变量。 注意: Line Input #语句与Input#语句类似,但Input#语 句读取的是数据项,而Line Input #语句读取的是一行数据。 3. Input()函数 语法格式: 该语句可以读取指定字符长度的数据。也可写为Input$()。 Line Input #文件号,变量列表 Input(length,#)