Presentation is loading. Please wait.

Presentation is loading. Please wait.

第六章 文件管理. 程序设计中,文件是十分重要的,许多情况下, 使用文件可以高效地解决实际问题。有用的数据在后 备存储器上以文件的形式存储后,我们就可以通过文 件对数据进行访问、操作以及检索,这称为文件管理。 6.1 文件的分类 根据文件访问类型的不同,可以将文件分为三类: 顺序文件、随机文件和二进制文件。

Similar presentations


Presentation on theme: "第六章 文件管理. 程序设计中,文件是十分重要的,许多情况下, 使用文件可以高效地解决实际问题。有用的数据在后 备存储器上以文件的形式存储后,我们就可以通过文 件对数据进行访问、操作以及检索,这称为文件管理。 6.1 文件的分类 根据文件访问类型的不同,可以将文件分为三类: 顺序文件、随机文件和二进制文件。"— Presentation transcript:

1 第六章 文件管理

2 程序设计中,文件是十分重要的,许多情况下, 使用文件可以高效地解决实际问题。有用的数据在后 备存储器上以文件的形式存储后,我们就可以通过文 件对数据进行访问、操作以及检索,这称为文件管理。 6.1 文件的分类 根据文件访问类型的不同,可以将文件分为三类: 顺序文件、随机文件和二进制文件。 (1) 顺序文件 所谓顺序文件就是普通的文本文件,是比较简单 的文件结构,文件中的记录一个接一个地逐次存放, 而且只知道第一个记录的存储位置,其它记录的位置 用户无法知道。当用户需要查找一个数据时,只能从 文件头开始,一个记录、一个记录地顺序读取,直到 找到为止。

3 ( 2 )随机文件 随机文件又称直接存取文件,简称随机文 件或直接文件。与顺序文件不同,随机文件可 以按任意次序读写,但要求每一行或每个记录 的长度必须相同,而且每个记录都有一个记录 号。在写入数据时,只要指定记录号,就可以 把数据直接存入指定位置。而在读取数据时, 只要给出记录号,就能直接读取该记录。 ( 3 )二进制文件 二进制文件是以二进制方式保存的文件, Visual Basic 假设数据不按照固定的方式组织, 而且允许程序按照所需的方式访问文件。

4 6.2 文件的基本操作 文件的基本操作包括文件的打开、文件的 读写、文件的关闭文件的拷贝、文件的删除和 文件的添加等。 6.2.1 文件的打开(建立) 在 Visual Basic 中使用 Open 语句打开或建 立一个文件,并指定一个文件号和文件的打开 模式等。 Open 语句的格式如下: Open For 模式 [Access 存取类 型 ][ 锁定 ] As [#] [Len = 记录长度 ]

5 格式中的 Open 、 For 、 As 以及 Len 为关键字,带方括号 的字段为可选项。其它参量含义如下: ( 1 ) 是必要的字符表达式,用以指定要打开或建 立的文件名,该文件名可以包含目录、文件夹及驱动器。 ( 2 )模式用来指定文件的输入输出方式,可以为下述操作之 一:  Output :指定顺序输出方式。  Input :指定顺序输入方式。  Append :指定顺序输出方式。与 Output 不同的是,用 Append 方式打开文件时,文件指针被定位在文件末尾。如 对文件进行写操作,则写入的数据附加到原来文件的后面, 也称为追加。  Random :指定随机存取方式。  Binary :指定二进制方式文件,这种方式下,可以用 Get 或 Put 语句对文件中的任何字节位置的信息进行读写。 如果没有指定文件的输入输出方式,则以缺省的 Random 方式打开文件。

6 ( 3 ) Access 是可选的关键字,说明对打开文件进行 的操作种类,有 Read (只读)、 Write (只写)或 Read Write (读 / 写)操作。 “ 操作种类 ” 指出了打开 的文件中所进行的操作。如果要打开的文件已由其 它过程打开,则不允许指定存取类型,否则 Open 出 错,并产生出错信息。 ( 4 ) [ 锁定 ] 是可选的关键字,只用在多用户或多进程 环境中,说明其它进程或用户能够完全共享)、 Lock Read (不允许其它进程读该文件)、 Lock Write (不允许其它进程写该文件)和 Lock Read Write (不允许其他进程读写该文件)对打开文件进 行的操作,类型包括 Shared (该文件。 如果不使用 Lock 子句,默认为 Lock Read Write 。

7 ( 5 ) 是必需的一个有效的文件号, 范围在 1 到 511 之间。执行 Open 语句时,打开 文件的文件号与一个具体的文件相关联,其 它输入输出语句或函数通过文件号与文件发 生关系。 ( 6 )记录长度是可选的小于或等于 32767 (字 节)的一个数。对于随机访问方式打开的文 件,该值就是记录长度。对于顺序文件,该 值就是缓冲字节数,即确定缓冲区的大小, 缓冲区越大,占用空间越多,文件的存取速 度越快。

8 Open 语句兼有打开文件和建立文件两种功 能。对一个数据文件进行读、写、修改或增加 数据之前,如果 指定的文件不存在, 用 Input 方式打开文件时,将提示 “ 文件未找到 ” ; 用 Append 、 Binary 、 Output 或 Random 方式打 开文件时,则建立相应的文件 6.2.2 文件的关闭 文件的读写操作结束后,可以通过 Close 语句将 Open 语句打开的输入 / 输出文件关闭, 一般格式为: Close [[#] 文件号 ][ , [#] 文件号 ]…

9 6.2.3 文件的删除 删除文件可以用 Kill 语句实现,具体格为: Kill 文件名 6.2.4 拷贝文件 用 FileCopy 语句可以把源文件拷到目标文 件,拷贝后两个文件的内容完全一样,例如: FileCopy ”Soure.dat”, “Target.dat”. 6.2.5 建立和删除文件目录 在 VB 中可以通过 MkDir 语句建立一个目录, RmDir 语句删除一个文件目录。

10 6.2.6 文件管理语句和函数 1 . FreeFile 函数 用 FreeFile 函数可以得到一个在程序中没有使用 的文件号。一般格式为: FreeFile[(rangenumber)] [ 例 6-1] 使用 FreeFile 函数获得文件号。[ 例 6-1] 2 . FileLen 函数 此函数返回以 “ 文件名 ” 参数指定的文件的长度, 单位为字节。 3 . Loc 函数 Loc 函数返回在由文件号指定的文件中读写的位 置。

11 4 . LOF 函数 LOF 函数将返回指定文件的字节数。 5 . EOF 函数 EOF 函数返回一个表示文件指针是否到 达文件末尾的标志。一般格式为: EOF ( Filenumber ) 文件指针如果到了文件末尾, EOF 函数 返回 True ( -1 ),否则返回 False ( 0 )。 6 . Dir 函数 Dir 函数用来测试一个指定的路径下是否 有指定的文件和文件夹(目录)

12 6.3 顺序文件 6.3.1 顺序文件的写操作 顺序文件的写操作分为三步,即打开文件、 写入文件和关闭文件,其中打开文件和关闭文 件分别用 Open 语句和 Close 文件来完成,而写 入文件,则要用到 Print# 或 Write# 语句来完成。 1 . Print # 语句 语句的一般格式如下: Print # 文件号, [[Spc(n)|Tab(n)]][expression][charpos]

13 [ 例 6-2] 演示如何在指定目录下的文件中用 Print# 语句添加职工信息。[ 例 6-2] 2 . Write # 语句 和 Print# 语句一样,用 Write# 语句可以 把数据写入顺序文件中。它的语法格式如下: Write # 文件号, [outputlist] [ 例 6-3] 把一组学生的基本信息数据记录从键 盘输入,并存入到 C 盘的 Stu.dat 文件中。[ 例 6-3] 学生的数据包括姓名、年龄、籍贯、系别, 用一个记录类型来定义。

14 6.3.2 顺序文件的读操作 顺序文件的读操作由 Input # 语句和 Line Input # 语句实现: 1 . Input # 语句 格式如下: Input # 文件号, 变量列表 [ 例 6-4] 编程序演示从顺序文件中读取数据。[ 例 6-4] 2 . Line Input 语句 使用 Line Input 语句可以从顺序文件中读取一个 完整的行,并赋给一个字符串变量。具体格式如下: Line Input # 文件号, 字符串变量名

15 [ 例 6-5] 将一个磁盘文件的内容读到内存,并 在文本框中逐行显示出来。例如我们利用记 事本建立一个名为 “Sample.dat” 的文件,并输 入以下内容:[ 例 6-5] 文化似乎不直接关系国计民生,但 却直接关系民族的性格、精神、意 识、言语和气质。抽出文化这根神 经,一个民族将成为植物人。 该文件有四行,每行均用回车键结束。

16 6.4 随机文件 随机文件跟数据库相似,被组织成记录 (通常是相同长度的),并以固定长度的记录 为单位进行存取,每一个数据项可以有不同的 数据类型和宽度。 6.4.1 随机文件操作 1. 定义记录类型 2 .打开随机文件 用 Open 语句打开随机文件的格式为: Open pathname [For Random] As filename Len = reclength

17 3 .随机文件的读写操作 随机文件的读操作用 Get 语句来完成,一 般格式如下: Get # 文件号, [ 记录号 ], 变量 随机文件的写操作通过 Put 语句来实现, 一般格式如下: Put # 文件号, [ 记录号 ], 变量 4 .随机文件中记录的替换、增加与删除 5 .关闭文件

18 6.5 文件系统控件 文件系统控件的作用是显示关于驱动器、 目录和文件的信息,并从中选择以便进行进一 步的操作。 VB 中提供了三种文件系统控件:驱 动器列表框( DriveListBox )、目录列表框 ( DirListBox )和文件列表框( FileListBox )。 利用它们的组合可以设计出各种处理文件的对 话框程序。 6.5.1 驱动器列表框 使用格式为: 驱动列表框名称.Drive[= 驱动器名 ]

19 6.5.2 目录列表框 目录列表框的作用用来显示当前驱动器上的目录。 它有一个在设计模式下不可用的 Path 属性,用来读 取或指定当前工作目录。 6.5.3 文件列表框 文件列表框的作用是显示当前目录的文件名。 ( 1 ) Path 属性 ( 2 ) Pattern 属性 ( 3 ) FileName 属性 ( 4 ) MultiSelect 属性 ( 5 ) ListCount 属性

20 [ 例 6-7] 设计一图片浏览器,界面如图 5-5 所示。 要求编写代码使驱动器列表框 Drive1 、目录列表 框 Dir1 和文件列表框 File1 同步操作;文件列表框 中只显示扩展名为 Bmp 和 Jpg 的图片文件;用鼠 标点击文件列表框中的某个图片文件时,窗体上 的图像框 Image1 同时显示该图片。[ 例 6-7]

21 6.6 文件系统对象 在 Visual Basic6.0 中新增加了文件系统对 象( File System Object ),简称 FSO 。它提 供了一套新的对文件系统进行管理和操作的方 法和属性,使得对文件的管理更加简单。 由于 FSO 不是 Visual Basic 的内部对象, 而是 Scripting 类型库中的对象。因此,在使用 此对象时必须先在工程中引用 FSO 对象。引用 的方法是:从 “ 工程 ” 下拉菜单中执行 “ 引用 ” 命令, 在打开的 “ 引用 ” 对话框中选中 “Microsoft Scripting Runtime” 选项,即可将 FSO 对象模型 引入到工程中了。

22 6.6.1 FileSystemObject 对象 FSO 对象模型编程主要包括 3 项任务:创 建一个 FileSystemObject 对象、对新创建的 对象使用适当的方法、访问该对象的属性。 1. 创建 FileSystemObject 对象 2.FileSystemObject 对象的属性 3. FileSystemObject 对象的方法 6.6.2 Drive 对象 要使用 Drive 对象,首先要声明一个驱动 器类型的变量,接着使用 FileSystemObject 对象的 GetDrive 方法来返回一个 Drive 对象, 再通过驱动器变量的属性来获得所需信息。

23 [ 例 6-8] 查看驱动器信息[ 例 6-8] 6.6.3 Folder 对象 [ 例 6-9] 编写一个文件夹管理程序,用于创建或 删除文件夹,还可以对文件夹进行更名操作。[ 例 6-9] 6.6.4 File 对象 6.6.5 数据文件的创建以及读、写方法


Download ppt "第六章 文件管理. 程序设计中,文件是十分重要的,许多情况下, 使用文件可以高效地解决实际问题。有用的数据在后 备存储器上以文件的形式存储后,我们就可以通过文 件对数据进行访问、操作以及检索,这称为文件管理。 6.1 文件的分类 根据文件访问类型的不同,可以将文件分为三类: 顺序文件、随机文件和二进制文件。"

Similar presentations


Ads by Google