Rational Robot中文件操作'b'P@#i2z0Ax4C0*l,|C5Y&v)f#yI&`0Rational Robot中提供了一个文件操作命令,语法如下:
51Testing软件测试网u/S1k,G3uu;H(iOpen filename$ [For mode] [Access access] [lock] As [#] filenumber% [Len = reclen]
51Testing软件测试网*fz\ kRoB }
f这里我们把它的语法分为两部分,因为这个文件操作命令有两种文件操作模式,一种是顺序文件,一种是随机文件。
51Testing软件测试网H*QnSd"Z q_!q$Sgp,n0下边是对顺序文件操作的语法:
KvO8~6c3R}0Open filename$ [ For [Input |Output |Append] As [#]filenumber [Len = buffersize]
51Testing软件测试网jCL%@%Q5u4?,Zt参数说明:
51Testing软件测试网9t#s5\'d*G说明:
2qoi
nr$C$n
}-r051Testing软件测试网N:pBU)X+T (1)参数filename$表示要打开的文件名,文件名可以包含有驱动器和目录
51Testing软件测试网&D-kgt ra8z.P~51Testing软件测试网q
q'Gr&| (2)Input Output
和Append用于设置顺序文件的打开方式。其中,Input表示从打开的文件中读取数据。以这种方式打开文件时,文件必须存在,否则会产生错误。
Output表示向打开的文件中写入数据。以这种方式打开文件时,文件中原有的数据将被覆盖,新的数据将从文件开始写入。如果文件不存在,则创建一个新文
件。Append表示向打开的文件中添加数据。以这种方式打开时,文件中原有的数据将被保留,新的数据将从文件为开始添加。如果文件不存在,则创建一个新
文件。
&f#S9k2w%Gv
_051Testing软件测试网a
yC-O.\u9k (3)As[#]filenumber 子句用于为打开的文件指定文件号.对文件进行读写操作时,要用文件号表示该文件.文件号是介于1~511之间的整数,既可以是数字,又可以是变量.也可以省略不用.
{
`C X6uHbN051Testing软件测试网j8`h9\jB*{,h@ (4)当在文件与程序之间拷贝数据时,Len=buffersize子句指定缓冲区的字符数.
51Testing软件测试网Ycd+iV
l9?U3{!e@k&aa,N0例子:
*hWu)X!lT0Open “c:\test.dat" For Output As 1
!a^UK4Q
D1{ Z0Open “c:\test.dat" For Output As 1
51Testing软件测试网xk Bb l //这两句代码在c盘所在目录下创建了一个名为test.dat的文本文件,分配文件号为1.
51Testing软件测试网rc+w(h1GqYOpen “c:\test.dat" For Input As [#]filenumber //这条语句是从文本文件中读取数据.
9s}Twb'DEp0Open App.Path + "\test.dat" For Append As [#]filenumber
8W/G:NW~OoBhn;DQ0 //这条语句则是向文本文件中添加数据
FB5k;sD uC8D\0:va:t[+r1\0随机文件的操作:
?"s nI2N c0 操作随机文件之前,首先必须定义用于保存数据项的记录类型.该记录是用户自定义数据类型,他们是随机文件中存储数据的基本结构.例如:
51Testing软件测试网}-p9Z'Q_zN%uDa.B*LP0Type Student
6VUu.fh+q0 No As Integer
-{"zg;E
_ChD0 Name As String * 20
51Testing软件测试网&Z9o1S{7de1g5D!q5[^ age As Integer
u#~L_&sN\-P0End Type
51Testing软件测试网-g6kf2oCZ(b51Testing软件测试网kk+[_,b'w,~.|+hDDim Stud As Student ‘定义一个可以存放学生材料的变量
51Testing软件测试网
p/D5j&t7} CU] 随机文件中,所有的数据都将保存到若干个结构为Student类型的记录中, 而从随机文件中读出的数据则可以存放到变量Stud中.之后我们就可以打开并读写文件了.
rkI
QU`&L051Testing软件测试网5LI2u[a3u$EZ%bQ:w随机文件的操作语法格式:
51Testing软件测试网\ERuIt(VFOpen filename For Random as [#]filenumber Len = Reclength
Y$`"_tN/LhEK0 说明:
k#K
R5Q^H9qV fHK0 (1)参数filename 和filenumber 分别表示文件名或文件号.
51Testing软件测试网 gE9lX](y8} (2)关键字Random 表示打开的是随机文件
51Testing软件测试网.fB:V_a5CRHu3P (3)Len子句用于设置记录长度,长度由参数Reclength指定.Reclength的值必须大于0,而且必须与定义的记录结构的长度一致.计
算记录长度的方法是将记录结构中每个元素的长度相加.例如前面声明的Student的长度应该是2+20+2=24字节.
-B'u;s:z
LK*f0打开一个记录类型为Student 的随机文件的方法是:
~!g
j;v,DP"mjS0Open "c:\Student.txt " For Random As #1 Len = 25
51Testing软件测试网6\ hUWHHjh7iM}.A'M3y/[0这里还有一种文件操作方式二进制文件,下边是他的语法格式:
`Z^.SI,jo%Q0Open pathname For Binary As [#]filenumber
51Testing软件测试网 RvT8R-P 说明:
51Testing软件测试网5C
Oyk O k,n (1) 参数filename 和filenumber 分别表示文件名或文件号.
n_%N
~In0 (2)关键字Binary 表示打开的是二进制文件
$~3t2JE[f-A0 (3)对于二进制文件,不能指定字节长度.每个打开的二进制文件都有一个自己的指针,文件指针是一个数字值,指向下一次读写操作的文件中的位置.二进制文件中的每个”位置”对应一个数据字节,因此,有n个字节的文件,就有1到n个位置.
51Testing软件测试网 M5q\e.H,|1PGO0M+mOmW6}0 我们可以用Seek()函数返回当前的文件指针位置(即下一个要读写的字节 );用Loc()函数返回上一次读写的字节位置,除非用Seek语句移动了指针,Loc()返回值总比Seek()的小1.我们来看下面的例子:
*I*Nq`U!fkM0Open “路径:\student.txt” for Binary as #1 该语句用二进制的方式打开了student.txt文件.
51Testing软件测试网ak`p|? G9O+C&`eV/^2]l6s0不同文件类型的操作:
51Testing软件测试网)e2e6|V)B8~2U51Testing软件测试网 N
Qk#R Wil一)读文件
51Testing软件测试网$di'cQ/xn 1、顺序文件