VB考试教程:文件系统对象(FileSystemObject)编程

文章作者 100test 发表时间 2007:03:26 17:26:06
来源 100Test.Com百考试题网


五、文件系统对象(FileSystemObject)编程

1、File System Object 模型介绍

Visual Basic 的一个新功能是 File System Object (FSO) 对象模型,该模型提供了一个基于对象的工具来处理文件夹和文件。这使您除了使用传统的Visual Basic 语句和命令之外,还可以使用您所熟悉的带有一整套属性、方法和事件的 object.method 语法来处理文件夹和文件。

FSO 对象模型使应用程序能够创建、改变、移动和删除文件夹,或者检测是否存在指定的文件夹,如果存在,在哪。FSO 对象模型也能使您获取关于文件夹的信息,诸如名称、创建日期或最近修改日期等等。FSO 对象模型也使得对文件的处理变得更加简单。在处理文件时,首要目标就是以一种可以有效利用空间和资源、并且易于存取的格式来存储数据。需要能够创建文件、插入和修改数据、以及输出(读)数据。虽然可以将数据存储在诸如 Jet 或 SQL 这样的数据库中,但是这样做将在应用程序中加入相当数量的额外开支。出于多种原因,您不想有这样的额外开支,或者数据存取要求不需要用一个与全功能数据库关联的所有额外功能。在这种情况下,用二进制或文本文件来存储数据是最有效的解决方法。包含在 Scripting 类型库 (Scrrun.Dll) 中的FSO 对象模型支持通过TextStream 对象创建和操作文本文件。但是,它还不支持二进制文件的创建和操作。要操作二进制文件,请使用带 Binary 标志的 Open 命令(关于如何操作二进制文件的详细信息已在前面介绍过,请参阅)。

2、文件系统对象(File System Object)

FSO对象模型包括这些对象:

对象 描述
Drive 允许收集关于系统所用的驱动器的信息,诸如驱动器有多少可用空间,其共享名称是什么,等等。请注意,一个“驱动器”并不一定是一个硬盘。它可以是 CD-ROM 驱动器、一个RAM 盘等等。而且,驱动器不一定是和系统物理地连接;也可以通过一个 LAN进行逻辑地连接。
Folder 允许创建、删除或移动文件夹,并向系统查询文件夹的名称、路径等。
Files 允许创建、删除或移动文件,并向系统查询文件的名称、路径等
FileSystemObject 该组的主要对象,提供一整套用于创建、删除、收集相关信息、以及通常的操作驱动器、文件夹和文件的方法。与本对象相关联的很多方法复制了其它对象中的方法。
TextStream 允许您读和写文本文件。

关于 FSO 对象模型中各种属性、方法和事件的信息,请使用 Visual Basic 中的“对象浏览器”(按 F2 键)并查看 Scripting 类型库。  

FSO对象模型包含在一个称为Scripting的类型库中,此类型库位于Scrrun.DII文件中。如果还没有引用此文件,从“工程”菜单的“引用”对话框选择"Microsoft Scripting Runtime "项。然后就可以使用"对象浏览器"来查看其对象、集合、属性、方法、事件以及它的常数。

3、FSO 对象模型编程

FSO对象模型编程包括三项主要任务:

  • 使用CreateObject方法,或将一个变量声明为FileSystemObject对象类型来创建一个FileSystemObject对象。

  • 对新创建的对象使用适当的方法。

  • 访问该对象的属性。

下面分别说明。

(1)创建 FileSystemObject 对象

第一步是创建一个 FileSystemObject 对象以便进行处理。可以通过如下两种方法完成:

  • 将一个变量声明为 FileSystemObject 对象类型:
    Dim fso As New FileSystemObject

  • 使用 CreateObject 方法来创建一个 FileSystemObject 对象:
    Set fso = CreateObject("Scripting.FileSystemObject")

在上面的语法中, Scripting 是类型库的名称,而 FileSystemObject 则是想要创建一个实例的对象的名称。

注意:第一种方法只在 Visual Basic 中有效,而第二种方法在 Visual Basic或 VBScript 中都是可行的。

(2)使用适当的方法

下一步就是使用该 FileSystemObject 对象的适当方法。例如,如果想要创建一个新对象,既可以使用 CreateFolder 方法也可以使用 CreateTextFile 方法(FSO 对象模型不支持创建或删除驱动器)。如果想要删除对象,可以使用 FileSystemObject 对象的 DeleteFile 和DeleteFolder 方法,或者 File 和 Folder 对象的 Delete 方法。使用适当的方法,还可以复制、移动文件和文件夹。

请注意,FileSystemObject 对象模型中有一些功能是冗余的。例如,要复制一个文件,既可以使用 FileSystemObject 对象的 CopyFile 方法,也可以使用 File 对象的 Copy 方法。这两者的功能是完全相同的。两者同时提供最大的编程灵活性。

(3)访问已有的驱动器、文件和文件夹

要访问一个已有的驱动器、文件或文件夹,请使用 FileSystemObject 对象中相应的 "get" 方法:

  • GetDrive

  • GetFolder

  • GetFile

例如:

Dim fso As New FileSystemObject, fil As File

Set fil = fso.GetFile("c:\test.txt")

但是,请注意,并不需要对新创建的对象使用"get" 方法,因为"create" 函数已经返回了一个句柄到新创建的对象。例如,如果使用 CreateFolder 方法创建了一个新的文件夹,就没有必要使用 GetFolder 方法来访问该对象的诸如名称、路径、大小等属性。只要给 CreateFolder 函数设置一个变量来获取新建文件夹的句柄,然后就可以访问其属性、方法和事件:


相关文章


计算机等级考试二级JAVA复习题之编程题
计算机考试二级C语言上机试题下[28]
计算机考试二级C语言上机试题下[29]
计算机等级考试二级JAVA复习题之简答题
VB考试教程:文件系统对象(FileSystemObject)编程
VB考试教程:文件处理之四文件系统
计算机等级考试二级JAVA复习题之编程填空题
计算机考试二级C语言上机试题下[30]
计算机考试二级C语言上机试题下[27]
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛