QTP中实现对文本文件(txt)的读写操作

      在实际的项目中,很多Data都是保存在外部文件中,因此,我们就需要对外部文件的内容进行读写。常见的是文本文档(.txt),excel,数据库等。

本篇先介绍下对文本文档的读取。当然,在实际项目中,最常见的就是往.txt文档写日志文件,简单的读写弄懂之后,写日志文件同样可以举一反三。

对于文本文件的读写,首先需要创建一个文本对象,然后再打开需要读写的文件:

Set fso = CreateObject("Scripting.FileSystemObject")

Set openfile=fso.OpenTextFile("C:/Users/luyime/Desktop/1.txt",1,true),其中1表示对文件只读,true表示如果当前目录下不存在1.txt文件则创建一个。

OpenTextFile方法中,我们通过对参数的控制,来实现对文件的只读(参数值为1)、只写(2)或追加(8);当然为了增加代码的可读性,在代码开始,我们可以将参数值保存在常量中:

Const ForReading=1,ForWriting=2,ForAppending=8

现在分别举例说明

首先,读取文件:

如下的”text.txt”中每个字符串以一个制表符分隔,我们需要打印出”text.txt”下的每个字符串,

 

代码如下:

Const ForReading=1,ForWriting=2,ForAppending=8

Set fso = CreateObject("Scripting.FileSystemObject")

Set openfile=fso.OpenTextFile("C:/Users/luyime/Desktop/text.txt",ForReading,True)

Do          Until openfile.AtEndOfStream

                str=openfile.ReadLine

                a=Split(str,"        ",-1,1)

                For i=0 to Ubound(a)

                                 Msgbox a(i)                                       

                 Next     

Loop

openfile.Close

Set fso=Nothing

其次,对文件写操作,这个比较简单

Const ForReading=1,ForWriting=2,ForAppending=8

Set fso = CreateObject("Scripting.FileSystemObject")

set openfile=fso.OpenTextFile("C:/Users/luyime/Desktop/1.txt",ForWriting,true)

For i=1 to 4

                openfile.WriteLine("hello")

                openfile.WriteBlankLines(1)

Next

openfile.Close

Set fso=nothing

这样就实现了对"1.txt"的写操作,我们将hello和空行写入了1.txt文件,效果如下

 

最后一个,就是对文件内容的追加。这个的意思就是不破坏原有文件的内容,在该文件的末尾写入内容。比如我们要实现对”1.txt”追加一行”hello world”,如下代码就可以实现了。

Const ForReading=1,ForWriting=2,ForAppending=8

Set fso = CreateObject("Scripting.FileSystemObject")

set openfile=fso.OpenTextFile("C:/Users/luyime/Desktop/1.txt",ForAppending,true)

openfile.WriteLine("hello world")

openfile.Close

Set fso=nothing


原文出处:http://hi.baidu.com/poptesting/blog/item/9569412ad505e631d52af16e.html

posted @ 2011-12-23 16:29  y0umer  阅读(153)  评论(0编辑  收藏  举报