
第9章数据文件 第09章数据文件 主讲教师:李书琴 联系电话:02987091642 计算机应用教研室
第 9 章 数 据 文 件 计算机应用教研室 第09章 数据文件 主讲教师:李书琴 联系电话:02987091642

第 本章主要内容 9.1文件的基本概念 据文件 9.2顺序文件的建立 9.3顺序文件的读取 9.4顺序文件中数据的编辑 9.5随机文件的建立 9.6随机文件的读取
第9章数据文件 本章主要内容 9.1 文件的基本概念 9.2 顺序文件的建立 9.3 顺序文件的读取 9.4 顺序文件中数据的编辑 9.5 随机文件的建立 9.6 随机文件的读取

第9章 9.1文件的基本概念 1、文件的定义 数据 指存储在外存上具有符号名的数据的集合 2、文件的分类 (1)按文件的内容分类 可分为程序文件和数据文件两大类。 (2)按存储信息的形式分类 可分为ASCII:文件和二进制文件。 (3)按数据文件的访问模式可分为: 顺序读写、随机读写和二进制读写模式。 (4)按存储介质可以分为: 磁盘文件、磁带文件、光盘文件、打印文件等
第 9 章 数 据 文 件 1、文件的定义 指存储在外存上具有符号名的数据的集合 2、文件的分类 (1) 按文件的内容分类 可分为程序文件和数据文件两大类。 (2) 按存储信息的形式分类 可分为ASCII文件和二进制文件。 (3) 按数据文件的访问模式可分为: 顺序读写、随机读写和二进制读写模式。 (4) 按存储介质可以分为: 磁盘文件、磁带文件、光盘文件、打印文件等。 9.1 文件的基本概念

第 9.1文件的基本概念 章 3、数据文件的组成 数据文件 数据文件中的数据是以记录为单位组织起来的: 一个文件由若干条记录组成,一个记录可以包含若干 个数据项。 对数据文件的操作(文件读和写) 是以记录为单位进 行的。 学号 姓名 高数 英语 物理 计算机 0201011 张一帆 90 87 86 94 0201012 王志文 85 92 85 75 0201013 李丽 100 89 56 77
第 9 章 数 据 文 件 3、数据文件的组成 ◼ 数据文件中的数据是以记录为单位组织起来的。 ◼ 一个文件由若干条记录组成,一个记录可以包含若干 个数据项。 ◼ 对数据文件的操作(文件读和写)是以记录为单位进 行的。 学号 姓名 高数 英语 物理 计算机 0201011 张一帆 90 87 86 94 0201012 王志文 85 92 85 75 0201013 李丽 100 89 56 77 …… …… …… …… …… …… 9.1 文件的基本概念

第 9.1文件的基本概念 4、缓冲区与文件号 对磁盘上的数据文件进行读写操作时,必须先在内存中开 据文件 辟一个专门的数据存储区域,用来建立文件操作必要的输入/输 出通道,这个专门的数据存储区域称为缓冲区 当同时操作多个文件时,VB系统自动为每个文件开辟一个缓 冲区,为便于标识,需要对文件缓冲区进行编号,该编号称为 “缓冲区号”或“文件号”。文件号的取值范围在1-511之间。 缓冲区1 磁盘 缓冲区n 内存数据区
第 9 章 数 据 文 件 4、缓冲区与文件号 对磁盘上的数据文件进行读写操作时,必须先在内存中开 辟一个专门的数据存储区域,用来建立文件操作必要的输入/输 出通道,这个专门的数据存储区域称为缓冲区 当同时操作多个文件时,VB系统自动为每个文件开辟一个缓 冲区,为便于标识,需要对文件缓冲区进行编号,该编号称为 “缓冲区号”或“文件号”。文件号的取值范围在1-511之间。 缓冲区1 缓冲区n … 内存数据区 磁盘 9.1 文件的基本概念

第9章 9.2顺序文件的建立 数据 1.建立文件 Open文件名For0 utput As#文件号 其中:文件名是一个字符串,如果不在当前文件夹下, 还需要带上路径。例如: Open "c:\abc.txt"For Output As #1 2.向文件写入数据 Print#n,数据项1,数据项2,…,数据项n Write#n,数据项1,数据项2,…,数据项n 其中,数据项之间可以用“,”也可以用“,”分隔。 3.关闭文件 Close[文件号] 如果不指定文件号,则关闭所有打开的数据文件
第 9 章 数 据 文 件 1.建立文件 Open 文件名 For Output As #文件号 其中:文件名是一个字符串,如果不在当前文件夹下, 还需要带上路径。例如: Open "c:\abc.txt" For Output As #1 2.向文件写入数据 Print #n,数据项1,数据项2,……,数据项n Write #n, 数据项1,数据项2,……,数据项n 其中,数据项之间可以用“ , ”也可以用“ ; ”分隔。 3. 关闭文件 Close [文件号] 如果不指定文件号,则关闭所有打开的数据文件。 9.2 顺序文件的建立

第 9.2顺序文件的建立 章 示例1在C盘根目录下创建一个顺序文件: 据文件 Open "c:\testfile.txt"For Output As #1 Print #1,"This is a test" Print #1, '产生一个空记录 Print #1,"char1","char2" '按昭标准格式写入数据 Print #1,"char1","char1" 1 testfile-记事本 ▣☒ 文件)编辑)格式@)查看)帮助D Write #1,"One","Two",123 This is a test Close #1 char1 char2 注意: (1)创建的文件路径问题; (2)代码中涉及到三种写入数据的方法,观察有什么区别? (3)用这种方式创建的文件可以用记事本打开查看内容
第 9 章 数 据 文 件 9.2 顺序文件的建立 示例1 在C盘根目录下创建一个顺序文件。 Open "c:\testfile.txt" For Output As #1 Print #1, "This is a test" Print #1, ' 产生一个空记录 Print #1, "char1", "char2" ' 按照标准格式写入数据 Print #1, "char1"; "char1" ' 按照紧凑格式写入数据 Write #1, "One", "Two", 123 ' 用Write形式写入数据 Close #1 注意: (1)创建的文件路径问题; (2)代码中涉及到三种写入数据的方法,观察有什么区别? (3)用这种方式创建的文件可以用记事本打开查看内容

第 9.2 顺序文件的建立 示例2从键盘录入3个学生的学号、姓名、3门课成绩并 保存到C盘目录下 student-记事本 日▣☒ 据文件 Dim i%,xh,x 文件『)编辑您)格式O)查看) 帮助D Open "c:\stu "g9107001",张老三",95,62,63 For i=1 To 09107602" "季老四",52,62,85 09107003" xh Inp …主老五",75,85,62 xm Inp cj1=InputBox("第1保成绩町 cj2=InputBox("第2门课成绩") cj3=InputBox("第3门课成绩") Write #1,xh,xm,cj1,cj2,cj3 Next i Close MsgBox"文件创建结束!
第 9 章 数 据 文 件 9.2 顺序文件的建立 示例2 从键盘录入3个学生的学号、姓名、3门课成绩并 保存到C盘目录下的student.txt文件中。 Dim i%, xh$, xm$, cj1%, cj2%, cj3% Open "c:\student.txt" For Output As #1 For i = 1 To 3 xh = InputBox("学号") xm = InputBox("姓名") cj1 = InputBox("第1门课成绩") cj2 = InputBox("第2门课成绩") cj3 = InputBox("第3门课成绩") Write #1, xh, xm, cj1, cj2, cj3 Next i Close MsgBox "文件创建结束!

9.3 顺序文件的读取 章 1. 打开已经存在的顺序文件 数 Open文件名For Input As#文件号 辛 循环读取文件中的数据,直到遇到文件结束。 顺序文件是否结束通过Eof(文件号) 判断,当函数值为真,则文件读取结束。 读取数据语句 Loop 3. 数据读取 (1)Input#文件号,变量1,变量2,…,变量N (2)Line Input#文件号,字符串变量 4. 关闭文件
第 9 章 数 据 文 件 9.3 顺序文件的读取 1. 打开已经存在的顺序文件 Open 文件名 For Input As #文件号 2. 循环读取文件中的数据,直到遇到文件结束。 因此循环结构通常表示为: Do Until Eof(文件号) 读取数据语句 Loop 3. 数据读取 (1)Input #文件号,变量1,变量2,…,变量N (2)Line Input #文件号, 字符串变量 4. 关闭文件 顺序文件是否结束通过Eof(文件号) 判断,当函数值为真,则文件读取结束

第 9.3顺序文件的读取 章 示例3从C盘目录下的student.txt文件中 数据文件 读出数据并求出三门课的平均成绩后显示到窗 体上。 Dim i%,xh$,xm$,cj1%,cj2%,cj3%,av! Open "c:\student.txt"For Input As #1 Do Until EOF(1) Input #1,xh,xm,cj1,cj2,cj3 av=(cj1 +cj2+cj3)/3 Print xh,xm,cj1,cj2,cj3,av Loop Close
第 9 章 数 据 文 件 示例3 从C盘目录下的student.txt文件中 读出数据并求出三门课的平均成绩后显示到窗 体上。 Dim i%, xh$, xm$, cj1%, cj2%, cj3%, av! Open "c:\student.txt" For Input As #1 Do Until EOF(1) Input #1, xh, xm, cj1, cj2, cj3 av = (cj1 + cj2 + cj3) / 3 Print xh, xm, cj1, cj2, cj3, av Loop Close 9.3 顺序文件的读取