VB中顺序文件与随机文件的区别

VB中顺序文件与随机文件的区别,第1张

顺序文件是一“块”数据。你只能按顺序从首到尾读取。

随机文件是很多“块”数据。你可以去读第几“块”数据,可以不用读取前面的数据。也可以读读后面的再读前面的。你可以去找找随机文件的实例代码去看看,就明白了。

Open 文件名 [For模式][Access 存取类型][锁定]As [#]文件号[Len=记录长度]

说明:

(1)文件名;

(2) 模式用于指定文件访问的方式,包括:

Append——从文件末尾添加 Binary——二进制文件

Input——顺序输入(输入给自己,从txt中取出)Output——顺序输出(输出到txt中)

Random——随机存取方式

(3)文件号(或称文件缓冲区)

(4)存取类型:访问文件的类型,为Read(只读)、Write(只写)、Read Write(读写)

(5)锁定:限制其他用户或其他进程对文件进行读写 *** 作

Shared(共享)、LockRead(禁止读)、Lock Write(禁止写)、

Lock Read Write(禁止读写)

(6)Len:用来指定每个记录的长度(字节数)

示例:Open"d:\cj1.dat" For Output As #1

使用顺序文件访问

推荐您使用 File System Objects 来创建文本文件,但该信息只在需要使用旧文本文件创建方法时才提供。

当要处理只包含文本的文件时,比如由典型文本编辑器所创 建的文件-也就是说,其中的数据没有分成记录的文件,使用顺序型访问最好。顺序型访问不太适于存储很多数字,因为每个数字都要按字符串存储。一个四位数将需要 4 个字节的存储空间,而不是作为一个整数来存储时只需的 2 个字节。

打开顺序访问文件

当以顺序型访问打开一个文件时,可执行以下 *** 作:

从文件输入字符 (Input)

向文件输出字符 (Output)

把字符加到文件 (Append)

要顺序型访问打开一个文件,Open 语句使用以下语法:

Open pathname For [Input | Output | Append] As filenumber [Len = buffersize]

当打开顺序文件作为 Input 时,该文件必须已经存在,否则,会产生一个错误。然而,当打开一个不存在的文件作为 Output 或 Append 时,Open 语句首先创建该文件,然后再打开它。

当在文件与程序之间拷贝数据时,选项 Len 参数指定缓冲区的字符数。

在打开一个文件 Input、Output 或 Append 以后,在为其它类型的 *** 作重新打开它之前必须先使用 Close 语句关闭它。

编辑为顺序访问打开的文件

如果要编辑一个文件,先把它的内容读入到程序变量,然后改变这些变量,最后再把这些变量写回到该文件。以下各节讨论如何编辑以顺序型访问打开的各记录。

从文件中读取字符串

要检索文本文件的内容,应以顺序 Input 方式打开该文件。然后使用 Line Input#,Input( ),或者 Input# 语句将文件拷贝到程序变量中。

Visual Basic 提供了一次读写顺序文件一个字符或一行的语句和功能。

例如,以下代码段逐行读取一个文件:

Dim LinesFromFile, NextLine As String

Do Until EOF(FileNum)

Line Input #FileNum, NextLine

LinesFromFile = LinesFromFile + NextLine + Chr(13) + Chr(10)

Loop

尽管 Line Input # 到达回车换行时它会识别行尾,但是,当它把该行读入变量时,不包括回车换行。如果要保留该回车换行,代码必须添加。

也可以使用 Input # 语句,它读取文件中所写的一列的数字和/或字符串表达式。例如,要从一个邮件列表文件中读取一行,可使用以下语句:

Input #FileNum, name, street, city, state, zip

可以使用 Input 函数来从文件向变量拷贝任意数量的字符,所给的变量大小应足够大。例如,以下的代码使用 Input 把指定数目的字符复制到变量。

LinesFromFile = Input(n, FileNum)

要将整个文件复制到变量,请使用 InputB 函数将字节从文件复制到变量。因为InputB 函数返回一个 ANSI 字符串,您必须使用 StrConv 函数将 ANSI 字符串转换为一个如下的 UNICODE 字符串:

LinesFromFile = StrConv(InputB(LOF(FileNum), FileNum), vbUnicode)

把字符串写入文件

要在顺序文件中存储变量的内容,应以顺序 Output 或 Append 打开它,然后使用 Print # 语句。例如,文本编辑器可以使用以下代码行来把一个文本框的内容拷贝到文件。

Print #FileNum, TheBox.Text

Visual Basic 也支持 Write # 语句,它把一列数字和/或字符串表达式写入文件。它自动地用逗号分开每个表达式,并且在字符串表达式端放置引号。

Dim AnyString As String, AnyNumber As Integer

AnyString = "AnyCharacters"

AnyNumber = 23445

Write #FileNum AnyString, AnyNumber

这个代码段把两个表达式写入由 FileNum 指定的文件。第一个表达式包含一个字符串而第二个包含数字 23445。因而,Visual Basic 把以下的字符(包括所有标点符号)写入到文件中:

"AnyCharacters",23445

注意 如果正在用顺序型访问的 Write # 与 Input # 语句,可考虑换用随机型 或二进制型访问,因为它们更适合面向于记录的数据。

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

这样可以么?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11878084.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存