1 / 23

第六章 文件管理

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

zahir-best
Download Presentation

第六章 文件管理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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语句时,打开文件的文件号与一个具体的文件相关联,其它输入输出语句或函数通过文件号与文件发生关系。(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函数获得文件号。 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#语句添加职工信息。 2.Write # 语句 和Print# 语句一样,用Write# 语句可以把数据写入顺序文件中。它的语法格式如下: Write # 文件号, [outputlist] [例6-3] 把一组学生的基本信息数据记录从键盘输入,并存入到C盘的Stu.dat文件中。 学生的数据包括姓名、年龄、籍贯、系别,用一个记录类型来定义。

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

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

  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同时显示该图片。

  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.6.3 Folder对象 [例6-9] 编写一个文件夹管理程序,用于创建或删除文件夹,还可以对文件夹进行更名操作。 6.6.4 File对象 6.6.5 数据文件的创建以及读、写方法

More Related