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 语句”。