TextStream对象是用于访问文本文件的对象,它是FileSystemObject一个独立的附属对象,但在使用TextStream对象时,我们仍要借助FileSystemObject 对象或其附属对象来创建一个 TextStream 对象并访问磁盘文件的内容。可以通过FileSystemObject 对象的CreateTextFile()及OpenTextFile(),来获取TextStream的对象句柄。
下面我们来具体的看看TextStream 对象的方法及属性的使用
TextStream对象的方法
方法 | 说明 |
Close() | 关闭一个打开的文件 |
Read(numchars) | 从文件中读出 numchars 个字符 |
ReadAll() | 作为单个字符串读出整个文件 |
ReadLine() | 作为一个字符串从文件中读出一行(直到回车符和换行) |
Skip(numchars) | 当从文件读出时忽略 numchars 个字符 |
SkipLine() | 当从文件读出时忽略下一行 |
Write(string) | 向文件写入字符串 string |
WriteLine(string) | 向文件写入字符串 string(可选)和换行符 |
WriteBlankLines(n) | 向文件写入 n 个换行符 |
Close、Write、WriteLine及WriteBlankLines的使用
方法名:Close()
说明:关闭正在打开的文件
方法名:WriteLine(string)
说明:向文件写入字符串 string(可选)和换行符。
示例:
Dim strPath,strText strPath = "C:\testing.txt" strText = "This is Test !hello word !" '调用函数 Call CreateFile(strPath,strText) Sub CreateFile(strPath,strText) Dim objFso,objStream '创建FileSystemObject对象 Set objFso = CreateObject("Scripting.FileSystemObject") '使用CreateTextFile(),来返回一个TextStream对象句柄 Set objStream = objFso.CreateTextFile(strPath,True) '三个Write的意思为:在文本中写入字符、写入带换行符的字符、写入3个换行符 objStream.Write(strText) objStream.WriteLine(strText) objStream. WriteBlankLines 3 '关闭TextStream对象 objStream.Close End Sub
Read、ReadAll及ReadLine的使用
方法名:Read(numchars)
说明:从 TextStream文件中读入指定数目的字符并返回结果字符串。
方法名:ReadAll()
说明:读入全部 TextStream文件并返回结果字符串。
方法名:ReadLine()
说明:从 TextStream文件中读入一整行字符(直到下一行,但不包括下一行字符),并返回字符串
示例:
Call CreateFile("c:\test.txt", "This is Test !" & vbCrLf & "hello word !") Sub CreateFile(strPath,strText) Dim objFso,objStream '创建FileSystemObject对象 Set objFso = CreateObject("Scripting.FileSystemObject") '使用FileSystemObject对象的CreateTextFile(),来返回一个TextStream对象句柄 Set objStream = objFso.CreateTextFile(strPath,True) '写入字符 objStream.WriteLine(strText) '读取字符串分别是:读取整行、读取所有、读取指定数目的字符 Msgbox (objStream.ReadLine) Set objStream = objFso.OpenTextFile(strPath,1,true) Msgbox (objStream.ReadAll) Set objStream = objFso.OpenTextFile(strPath,1,true) Msgbox (objStream.Read(9)) '关闭TextStream对象 objStream.Close End Sub
Skip、SkipLine的使用
方法名:Skip(numchars)
说明:读取 TextStream文件时跳过指定数目的字符
方法名:SkipLine()
说明:当读到 TextStream文件时,跳过下一行。
示例:
Dim strPath,strText strPath = "C:\test.txt" '调用函数 Call CreateFile(strPath) Sub CreateFile(strPath) Dim objFso,objStream '创建FileSystemObject对象 Set objFso = CreateObject ("Scripting.FileSystemObject") '使用FileSystemObject对象的CreateTextFile(),来返回一个TextStream对象句柄 Set objStream = objFso.CreateTextFile(strPath,True) '在文本中写入字符 objStream.Write "This is Test !" & vbCrLf & "hello word !" '以只读的方式打开文件 Set objStream = objFso.OpenTextFile(strPath,1,true) '读取文件时跳过5个字符;或者跳过当前行,读取下一行 objStream.Skip(5) Msgbox objStream.ReadAll Set objStream = objFso.OpenTextFile(strPath,1,true) '跳过第一行 objStream.SkipLine Msgbox objStream.ReadAll '关闭TextStream对象 objStream.Close End Sub
TextStream对象的属性
属性 |
说明 |
AtEndOfLine |
如果文件位置指针在文件中一行的末尾则返回 True |
AtEndOfStream |
如果文件位置指针在文件的末尾则返回 True |
Column |
从 1 开始返回文件中当前字符的列号 |
Line |
从 1 开始返回文件中当前行的行号” |
AtEndOfLine及AtEndOfStream的使用
两者间的区别是:
AtEndOfLine——读取到当前文本行的末尾;
AtEndOfStream——读取到整个文本的末尾
示例:
Dim strPath,strText strPath = "C:\test.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 str = str + objStream.Read(1) Loop msgbox str str = "" Set objStream = objFso.OpenTextFile(strPath,1,true) '如果当前的指针不在文本末端,则读取文本内容 Do While objStream.AtEndOfStream <> true str = str + objStream.Read(1) Loop MsgBox str '关闭TextStream对象 objStream.Close End Sub
Column及Line的使用
示例:
Call TestTextStream("c:\test.txt") 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 '打印信息 MsgBox str End Sub
文本读取示例:
如何读取文本最后一行数据?
Dim Fso,MyFile Dim strLine '创建FileSystemObject对象 Set Fso = CreateObject("Scripting.FileSystemObject") '以只读的方式打开文件 Set MyFile = Fso.OpenTextFile("C:\test.txt",1) '直到到达文件尾 Do Until MyFile.AtEndOfStream '读取当前整行数据 strLine = MyFile.ReadLine Loop MyFile.Close MsgBox strLine
如何读取文本最后一行数据(文件末尾有空行)?
Dim Fso,MyFile Dim strLine '创建FileSystemObject对象 Set Fso = CreateObject("Scripting.FileSystemObject") '以只读的方式打开文件 Set MyFile = Fso.OpenTextFile("C:\test.txt",1) Do Until MyFile.AtEndOfStream '读取当前整行字符串 strNextLine = MyFile.ReadLine '判断读取的整行字符串是不是空白 If Len(strNextLine) > 0 Then '不是空白,则赋值 strLine = strNextLine End If Loop MyFile.Close MsgBox strLine
读取文本指定行内容
MsgBox TestTextStream("c:\test.txt",1) Function TestTextStream(strPath,IntLine) Dim Fso,MyFile Set Fso = CreateObject("Scripting.FileSystemObject") '以只读的方式打开文件 Set MyFile = Fso.OpenTextFile(strPath,1) '如果当前的指针不在整个文档的末尾,读取文本的整行内容 Do Until MyFile.AtEndOfStream TestTextStream = MyFile.ReadLine IntLine = IntLine - 1 '判断光标是否已达到指定行,达到则退出函数 If IntLine = 0 Then Exit Function End If Loop End Function
这篇文章就结束到这了,需要的朋友可以参考一下。
本文向大家介绍VBS基础篇 - 循环(for、Do、While),包括了VBS基础篇 - 循环(for、Do、While)的使用技巧和注意事项,需要的朋友参考一下 经常地,当编写代码时,我们希望将一段代码执行若干次,我们可以在代码中使用循环语句来完成这项工作。 循环可分为三类:一类在条件变为 False 之前重复执行语句,一类在条件变为 True 之前重复执行语句,另一类按照指定的次数重复执行语句
本文向大家介绍VBS基础篇 - 条件语句(if与Select Case),包括了VBS基础篇 - 条件语句(if与Select Case)的使用技巧和注意事项,需要的朋友参考一下 If...Then...Else 在下面的情况中,您可以使用 If...Then...Else 语句: 在条件为 true 时,执行某段代码 选择两段代码之一来执行时 要运行多行代码,必须使用多行(或块)语法,多行(或块
本文向大家介绍VBS基础篇 vbscript Sendkeys模拟键盘操作,包括了VBS基础篇 vbscript Sendkeys模拟键盘操作的使用技巧和注意事项,需要的朋友参考一下 模拟键盘操作,将一个或多个按键指令发送到指定Windows窗口来控制应用程序运行 其使用格式为:object.SendKeys(string) object:表示WshShell对象 string:表示要发送的按键指
在我们第一次开始写程序的时候,都是以 Hello World 开始的。或者: printf("hello,world"); 又或许: alert('hello,world'); 过去的十几年里,试过用二十几种不同的语言,每个都是以 hello,world 作为开头。在一些特定的软件,如 Nginx,则是 It Works。 这是一个很长的故事,这个程序最早出现于1972年,由贝尔实验室成员布莱恩·
本书主要是通过实战项目来帮助大家获取Go知识,通过一些小至只有一个main函数,大到一个完整的网络项目,通过这些形形色色的项目来锻炼Go的各方面编程技巧。 第一部分基础篇主要包括五章来介绍Go的开发环境、开发工具、基础语法、字符串和时间包、系统包的处理等各方面基础知识。 我们每个人的开发环境也许各不相同,Windows、Mac、Linux等每个人有不同的环境,那么如何统一到一起来呢?现在有了Vag
面向对象三要素:封装、继承、多态 封装:封装的意义,在于明确标识出允许外部使用的所有成员函数和数据项,或者叫接口。 继承: 继承基类的方法,并做出自己的扩展; 声明某个子类兼容于某基类(或者说,接口上完全兼容于基类),外部调用者可无需关注其差别(内部机制会自动把请求派发dispatch到合适的逻辑)。 多态:基于对象所属类的不同,外部对同一个方法的调用,实际执行的逻辑不同。很显然,多态实际上是依附