文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

VBS中TextStream对象的作用是什么

2023-06-08 08:54

关注

这篇文章将为大家详细讲解有关VBS中TextStream对象的作用是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

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,strTextstrPath = "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.CloseEnd 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.CloseEnd Sub

 Skip、SkipLine的使用

方法名:Skip(numchars)

说明:读取 TextStream文件时跳过指定数目的字符

方法名:SkipLine()

说明:当读到 TextStream文件时,跳过下一行。

示例:

Dim strPath,strTextstrPath = "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.CloseEnd Sub

 TextStream对象的属性

属性

说明

AtEndOfLine

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

AtEndOfStream

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

Column

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

Line

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

AtEndOfLine及AtEndOfStream的使用

两者间的区别是:

AtEndOfLine——读取到当前文本行的末尾;

AtEndOfStream——读取到整个文本的末尾

示例:

Dim strPath,strTextstrPath = "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.CloseEnd 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 strEnd Sub

文本读取示例:

  如何读取文本最后一行数据?  

Dim Fso,MyFileDim strLine'创建FileSystemObject对象Set Fso = CreateObject("Scripting.FileSystemObject")'以只读的方式打开文件Set MyFile = Fso.OpenTextFile("C:\test.txt",1)'直到到达文件尾Do Until MyFile.AtEndOfStream  '读取当前整行数据  strLine = MyFile.ReadLineLoopMyFile.CloseMsgBox strLine

如何读取文本最后一行数据(文件末尾有空行)?  

Dim Fso,MyFileDim 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 IfLoopMyFile.CloseMsgBox 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  LoopEnd Function

关于VBS中TextStream对象的作用是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯