使用二进制文件访问

File System Object 模式不提供二进制文件创建或访问方法。如果需要创建或读取二进制文件,此信息将会帮助您做到。

二进制访问能提供对文件的完全控制,因为文件中的字节可以代表任何东西。例如,通过创建长度可变的记录可保存磁盘空间。当要保持文件的尺寸尽量小时,应使用二进制型访问。

注意 当把二进制数据写入文件中时,使用变量是 Byte 数据类型的数组的,而不是 String 变量。 String 被认为包含的是字符,而二进制型数据可能无法正确地存在 String 变量中。

打开二进制型访问的文件

要为二进制型访问打开文件,应使用以下 Open 语句的语法:

Open pathname For Binary As filenumber

可以看到,二进制访问中的 Open 与随机存取的 Open 不同,它没有指定 Len = reclength。如果在二进制型访问的 Open 语句中包括了记录长度,则被忽略。

在长度可变的字段中保存信息

为了更好地了解二进制型访问,考虑有一个雇员记录文件。这个文件用长度固定的记录和字段来储雇员的信息。

Type Person
   ID               As Integer
   MonthlySalary      As Currency
   LastReviewDate      As Long
   FirstName         As String * 15
   LastName            As String * 15
   Title            As String * 15
   ReviewComments      As String * 150
End Type

不管字段的实际内容如何,该文件每条记录都占用 209 个字节。

通过使用二进制型访问可使磁盘空间的使用降到最小。因为这不需要固定长度的字段,类型声明语句可以省略字符串长度参数。

Type Person
   ID               As Integer
   MonthlySalary      As Currency
   LastReviewDate      As Long
   FirstName         As String
   LastName            As String
   Title            As String
   ReviewComments      As String
End Type

Public Empl As Person      '定义记录。

因为各字段长度是可变的,所以在雇员记录文件中每个雇员记录只存储在精确所需的字节中。用长度可变字段来进行二进制输入/输出的缺点,是不能随机地访问记录-必须顺序地访问记录以了解每一个记录的长度。可以直接查看文件中指定字节的位置,但是,如果记录的长度可变,则无法直接知道哪条记录在哪个字节处。

详细信息 有关二进制文件访问的其它信息,请参阅“Open 语句”。