日期:2009-06-27  浏览次数:20446 次

实现方法
可以使用 Object Browser(对象浏览器)来查看 FSO 模型的对象、集合、属性、方法、事件和常数。要在 Object Browser(对象浏览器)中查看 FSO,必须首先向 Microsoft 脚本运行时类型库添加一个引用。


向 Microsoft 脚本运行时类型库添加引用

在 Project(项目)菜单上,单击 Add Reference(添加引用)。
在 COM 选项卡上,选择 Microsoft Scripting Runtime(Microsoft 脚本运行时),单击 Select(选择),然后单击 OK(确定)。
现在,FSO 将显示在 Object Browser(对象浏览器)中的 Interop.Scripting 节点内。

使用 FileSystemObject 进行编程:

使用 CreateObject 方法创建一个 FileSystemObject 对象。
- 或者 -

将一个变量定义为 FileSystemObject 对象。例如:

Dim MyFileStream as Scripting.New FileSystemObject。

对新创建的对象使用相应的方法。
访问对象的属性。
代码示例
以下示例使用 FileSystemObject 对象的实例来读取文件并写入文件内容。

Public Class UsesScripting
   Public Shared Sub Main()
      Dim fileSystem As New Scripting.FileSystemObject()
      Dim file As Scripting.TextStream
      file = fileSystem.OpenTextFile("c:\test.txt", _
      Scripting.IOMode.ForReading, False,_
      Scripting.Tristate.TristateUseDefault)
      Dim contents As String = file.ReadAll()
      Console.WriteLine(contents)
      file.Close()
   End Sub

End Class
.NET 框架类
System.IO 命名空间包含 File 和 Directory 类,它们可以提供操纵文件和目录所需的基本功能。由于所有方法都是静态的或是这些对象的共享成员,因此您可以直接使用它们,而无需先创建类的实例。

下表列出了 File 类方法。

方法 说明
AppendText 创建 StreamWriter 的一个实例,将 UTF-8 编码文本附加到现有文件。
Copy 将现有文件复制到新文件。
Create 以指定的完全限定路径创建文件。
CreateText 创建或打开一个新文件,用于编写 UTF-8 编码文本。
Delete 删除指定文件。
Exists 返回 Boolean 值,表明指定文件是否存在。
GetAttributes 返回完全限定路径的文件的 FileAttributes。
GetCreationTime 返回 Date,表示指定文件的创建时间。
GetLastAccessTime 返回 Date,表示最近一次访问指定文件的时间。
GetLastWriteTime 返回 Date,表示最近一次写入指定文件的时间。
Move 将指定文件移到新位置,提供选项以指定新的文件名。
Open 打开指定路径的 FileStream。
OpenRead 打开现有文件以进行读取。
OpenText 打开现有的 UTF-8 编码文本文件以进行读取。
OpenWrite 打开现有文件以进行写入。
SetAttributes 设置指定路径中的文件的指定 FileAttributes。
SetCreationTime 设置指定文件的创建日期和时间。
SetlastAccessTime 设置最近一次访问指定文件的日期和时间。
SetLastWriteTime 设置最近一次写入指定文件的日期和时间。

下表列出了附加到 Directory 类的方法。

方法 说明
CreateDirectory 按 path 的规定创建所有目录和子目录。
Delete 删除指定目录。
Exists 返回 Boolean 值,表明指定目录是否存在。
GetCreationTime 返回 Date,表示指定目录的创建时间。
GetCurrentDirectory 返回 String,表示应用程序的当前工作目录。
GetDirectories 返回 String,表示指定目录中的子目录名称。
GetDirectoryRoot 返回 String,表示指定路径的卷信息、根信息或同时表示这两种信息。
GetFiles 返回 String,表示指定目录中的文件名。
GetFileSystemEntries 返回 String,表示指定目录中所有文件和子目录的名称。
GetLastAccessTime 返回最近一次访问指定目录的日期和时间。
GetLastWriteTime 返回 Date,表示最近一次写入指定目录的时间。
GetLogicalDrives 返回 String,表示计算机的逻辑驱动器的名称。
GetParent 返回 String,表示指定路径的父目录。
Move 将目录及其内容移到新位置。
SetCreationTime 设置指定目录的创建日期和时间。
SetCurrentDirectory 将应用程序的当前工作目录设置为指定目录。
SetLastAccessTime 设置最近一次访问指定目录的日期和时间。
SetLastWriteTime 设置最近一次写入指定目录的日期和时间。

优点和缺点
公共语言运行时能够生成丰富的类库。例如,除基本文件 I/O 外,System.IO 命名空间还提供许多服务,如 FileSystemWatcher 类,允许您监视对文件的更改;以及 FileInfo 和 DirectoryInfo 类,使您可以收集有关指定文件或目录的信息。有关详细信息,请参阅 FileSystemWatcher、FileInfo 和 DirectoryInfo。

同样,公共语言运行时也提供 FileIOPermission 类,允许您控制对文件和目录的访问。这对于使用 Web 窗体的开发人员尤为重要,因为默认情况下,Web 窗体在一个名为 ASPNET 的特定本地用户环境中运行,而 ASPNET 是作为 ASP.NET/框架安装的一部分而创建的。当此类应用程序请求访问资源时,此请求在该用户的环境中进行。不过,在默认情况下,ASPNET 用户只拥有有限的权限,使他们无法执行从 Web 应用程序写入文件等操作。有关详细信息,请参阅 FileIOPermission。

公共语言运行时也能够与其他 .NET 语言兼容(如 Visual C#™),并有助于保持应用程序之间的一致性,这一点对于企业级的开发尤为重要。

对于刚刚开始熟悉这些新方法的 Visual Basic 程序员而言,不熟悉公共语言运行时可能会遇到一些困难。如果您是其中一员,您可能更倾向于使用您所熟知的方法。