VBS中FileSystemObject对象详解(完整版)

2019-01-15 19:09:06王旭

TextStream 的属性提供有关文件内文件指针当前位置的信息,如表9所示。注意,所有的属性是只读的。

表10  TextStream 对象的属性及说明

属性

说明

AtEndOfLine

如果文件位置指针在文件中一行的末尾则返回 True

AtEndOfStream

如果文件位置指针在文件的末尾则返回 True

Column

从 1 开始返回文件中当前字符的列号

Line

从 1 开始返回文件中当前行的行号”

AtEndOfLine 和 AtEndOfStream 属性仅对以 iomode 参数为 ForReading 的方式打开的文件可用,否则将会出错。

AtEndOfLine及AtEndOfStream的使用

示例:

Dim strPath,strText strPath = "C:/testing.txt" '调用函数 Call CreateFile(strPath) Sub CreateFile(strPath) Dim objFso,objStream,str '创建FileSystemObject对象 Set objFso = CreateObject("Scripting.FileSystemObject") '以只读的方式打开文件,如果文件不存在则创建它 Set objStream = objFso.OpenTextFile(strPath,1,true) '如果当前的指针不在行末,则读取文本内容 Do While objStream.AtEndOfLine <> true ‘Do While objStream.AtEndOfStream <> true str = str + objStream.Read(1) Loop msgbox str '关闭TextStream对象 objStream.Close End Sub

备注:两者间的区别是:AtEndOfLine——读取到当前文本行的末尾;AtEndOfStream——读取到整个文本的末尾

Column及Line的使用

示例:

Sub TestTextStream(strPath) Dim objFso,objTStream,str Set objFso = CreateObject("Scripting.FileSystemObject") '以只读的方式打开文件 Set objTStream = objFso.OpenTextFile(strPath,1) '如果当前的指针不在整个文档的末尾,读取文本的所有内容 Do While objTStream.AtEndOfStream <> true objTStream.ReadAll str = str + "共有" & objTStream.Line & "行数据,光标最后所在列号为:" & objTStream.Column & vbCrLf Loop '打印信息 print str End Sub

FileSystemObject实例代码

创建文件

set fso = server.CreateObject("Scripting.FileSystemObject") set f = fso.CreateTextFile("C:test.txt", true) '第二个参数表示目标文件存在时是否覆盖 f.Write("写入内容") f.WriteLine("写入内容并换行") f.WriteBlankLines(3) '写入三个空白行(相当于在文本编辑器中按三次回车) f.Close() set f = nothing set fso = nothing