asp(vbs)fso OpenTextFile方法参数说明


  本文标签:fso,OpenTextFile

OpenTextFile是asp语言中的一个方法
打开指定的文件并返回一个 TextStream 对象,可以通过这个对象对文件进行读、写或追加 。
object.OpenTextFile(filename[, iomode[, create[, format]]])

1、方法编辑打开指定的文件并返回一个 TextStream 对象,可以通过这个对象对文件进行读、写或追加 。
object.OpenTextFile(filename[, iomode[, create[, format]]])
2、参数编辑object

必选项 。 object 应为 FileSystemObject 的名称 。
filename
必选项 。 指明要打开文件的字符串表达式 。
iomode
可选项 。 可以是三个常数之一: ForReading 、 ForWriting 或 ForAppending  。
create
可选项 。 Boolean 值,指明当指定的 filename 不存在时是否创建新文件 。 如果创建新文件则值为 True ,如果不创建则为 False  。 如果忽略,则不创建新文件 。
format
可选项 。 使用三态值中的一个来指明打开文件的格式 。 如果忽略,那么文件将以 ASCII 格式打开 。

3、设置编辑iomode 参数可以是下列设置中的任一种:

常数 值 描述

ForReading 1 以只读方式打开文件 。 不能写这个文件 。
ForWriting 2 以写方式打开文件
ForAppending 8 打开文件并从文件末尾开始写 。

format 参数可以是下列设置中的任一种:
值 描述

TristateTrue 以 Unicode 格式打开文件 。
TristateFalse 以 ASCII 格式打开文件 。
TristateUseDefault 使用系统默认值打开文件 。

4、说明编辑下面的代码说明了如何使用 OpenTextFile 方法打开文件并追加文本:
var fs, a, ForAppending;
ForAppending = 8;
fs = new ActiveXObject("Scripting.FileSystemObject");
//可以是三个常数之一: ForReading 、 ForWriting 或 ForAppending
//分别是 1 ,2 ,8
a = fs.OpenTextFile("c:\\testfile.txt", 2, false);
...
a.Close();

在vbs脚本中的用例

打开指定的文件并返回一个TextStream对象,可以读取、写入此对象或将其追加到文件 。
object.OpenTextFile(filename[,iomode[,create[,format]]])
参数
object
必选项 。应为FileSystemObject对象的名称 。
filename
必选项 。字符串表达式,指明要打开的文件名称 。
iomode
可选项 。输入/输出模式,是下列三个常数之一:ForReading,ForWriting,或ForAppending 。
create
可选项 。Boolean值,指出当指定的filename不存在时是否能够创建新文件 。允许创建新文件时为True,否则为False 。默认值为False 。
format
可选项 。三个Tristate值之一,指出以何种格式打开文件 。若忽略此参数,则文件以ASCII格式打开 。

iomode参数可为下列设置之一:

常数 描述
ForReading 1 以只读模式打开文件 。不能对此文件进行写操作 。
ForWriting 2 以只写方式打开文件 。不能对此文件进行读操作 。
ForAppending 8 打开文件并在文件末尾进行写操作 。


  format参数可为下列设置之一:

常数 描述
TristateUseDefault -2 以系统默认格式打开文件 。
TristateTrue -1 以Unicode格式打开文件 。
TristateFalse 0 以ASCII格式打开文件 。

用法举例:

Sub OpenTextFileTest
Const ForReading =1, ForWriting =2, ForAppending =8
Dim fso, f
Set fso =CreateObject("Scripting.FileSystemObject")
Set f =fso.OpenTextFile("c:\testfile.txt",ForWriting,True)
f.Write "嗨,你好!"
f.Close
End Sub
Call OpenTextFileTest

脚本之家写的一个函数

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
set fn2=fso.GetFile("E:\webroot\jb51\index2.htm")
flsize2=fn2.size
fldate2=fn2.datelastmodified
set fn=fso.GetFile("E:\webroot\jb51\index.htm")
flsize1=fn.size
fldate1=fn.datelastmodified
If fso.FileExists("E:\webroot\jb51\index2.htm") and flsize2>50000 and fldate2>fldate1 Then
判断文件的大小,如果html文件重新生成需要判断是否更新过且文件不能小于50K
fso.getfile("E:\webroot\jb51\index2.htm").copy("E:\webroot\jb51\index.htm")
if err.number=0 then WriteHistory "成功"&now()&".........","log.txt"
end if
日志写入函数
Sub WriteHistory(hisChars, path)
 Const ForReading = 1, ForAppending = 8
 Dim fso, f
 Set fso = CreateObject("Scripting.FileSystemObject")
 Set f = fso.OpenTextFile(path, ForAppending, True)
 f.WriteLine hisChars 
 f.Close
End Sub