vb中open方法读写文件 - 副本

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

vb使用open方法读写文件(一)打开和关闭文件

1、顺序文件

打开顺序文件,我们可以使用Open语句。它的格式如下:

Open pathname For [Input |Output |Append] As [#]filenumber [Len = buffersize] 说明:

(1)参数pathname 表示要打开的文件名,文件名可以包含有驱动器和目录

(2)Input Output 和Append用于设置顺序文件的打开方式。其中,Input表示从打开的文件中读取数据。以这种方式打开文件时,文件必须存在,否则会产生错误。Output表示向打开的文件中写入数据。以这种方式打开文件时,文件中原有的数据将被覆盖,新的数据将从文件开始写入。如果文件不存在,则创建一个新文件。Append表示向打开的文件中添加数据。以这种方式打开时,文件中原有的数据将被保留,新的数据将从文件为开始添加。如果文件不存在,则创建一个新文件。

(3)As[#]filenumber 子句用于为打开的文件指定文件号.对文件进行读写操作时,要用文件号表示该文件.文件号是介于1~511之间的整数,既可以是数字,又可以是变量.也可以省略不用.

(4)当在文件与程序之间拷贝数据时,Len=buffersize子句指定缓冲区的字符数.

例如:

Open App.Path + "\test.dat" For Output As 1

Open App.Path + "\test.dat" For Output As 1

这两句代码在当前应用程序所在目录下创建了一个名为test.dat的文本文件,分配文件号为1.

Open App.Path + "\test.dat" For Input As [#]filenumber

这条语句是从文本文件中读取数据.

Open App.Path + "\test.dat" For Append As [#]filenumber

这条语句则是像文本文件中添加数据

2、随机文件

操作随机文件之前,首先必须定义用于保存数据项的记录类型.该记录是用户自定义数据类型,他们是随机文件中存储数据的基本结构.例如:

Type Student

No As Integer

Name As String * 20

age As Integer

End Type

Dim Stud As Student …定义一个可以存放学生材料的变量

随机文件中,所有的数据都将保存到若干个结构为Student类型的记录中, 而从随机文件中读出的数据则可以存放到变量Stud中.

之后我们就可以打开并读写文件了.下面是打开随机文件的语法格式:

Open filenam e For Random as [#]filenumber Len = Recle ngth

说明:

(1)参数filename 和filenumber 分别表示文件名或文件号.

(2)关键字Random 表示打开的是随机文件

(3)Len子句用于设置记录长度,长度由参数Reclength指定.Reclength的值必须大于0,而且必须与定义的记录结构的长度一致.计算记录长度的方法是将记录结构中每个元素的长度相加.例如前面声明的Student的长度应该是2+20+2=24字节.

打开一个记录类型为Student 的随机文件的方法是:

Open "c:\Student.txt " For Random As #1 Len = 25

3、二进制文件

打开二进制文件的语法格式如下:

Open pathname For Binary As [#]filenumber

(1) 参数filename 和filenumber 分别表示文件名或文件号.

(2)关键字Binary 表示打开的是二进制文件

(3)对于二进制文件,不能指定字节长度.每个打开的二进制文件都有一个自己的指针,文件指针是一个数字值,指向下一次读写操作的文件中的位置.二进制文件中的每个”位置”对应一个数据字节,因此,有n个字节的文件,就有1到n个位置.

我们可以用Seek()函数返回当前的文件指针位置(即下一个要读写的字节);用Loc()函数返回上一次读写的字节位置,除非用Seek语句移动了指针,Loc()返回值总比Seek()的小1.我们来看下面的例子:

Open “student.txt” for Binary as #1

该语句用二进制的方式打开了student.txt文件.

(二)读文件

1、顺序文件

顺序文件的读取有三种方式:

(1)Line Input # 语句

该语句从打开的顺序文件中读取一行数据。这里的一行指的是从当前指针位置开始到回车符或回车换行符之间的所有数据。Line Input # 语句的语法格式如下:

Line Input # 文件号,变量号

说明:“文件号”是打开文件时所用的文件号;“变量号”使用来存放读出数据的一个或多个变量,如果有多个变量,中间用空格分割开。Input# 语句为参数列表中的每一个变量读取文件的一个域,并将读出的域存入变量中。该语句只能顺序的从第一个域开始,直到读取想要的域。

请看下面代码:

Dim strLine As String

Open "c:\vb\test.txt" For Input As #1

Do Until EOF(1)

Line Input #1, strLine

text1.Text = text1.Text + strLine + Chr(13) + Chr(10)

Loop

Close #1

此段代码逐行读取一个文件到文本框中。

(2)Input函数

相关文档
最新文档