在实际的项目中,很多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
效果如下:
现在在测试过程中写日志文件,大家都可以自己举一反三写个简单的例子试一下。