主頁 > 知識庫 > VBS基礎(chǔ)篇 - vbscript TextStream對象

VBS基礎(chǔ)篇 - vbscript TextStream對象

熱門標(biāo)簽:除了地圖標(biāo)注還有這種生意嗎 神行者美術(shù)館地圖標(biāo)注 如何用機(jī)器人進(jìn)行電銷 東營快遞外呼系統(tǒng) 齊齊哈爾高德地圖標(biāo)注店 百度地圖標(biāo)注點(diǎn)距離代碼 佛山真人電銷機(jī)器人廠家 地圖標(biāo)注政府哪個部門管 哪里有便宜的地圖標(biāo)注公司

TextStream對象是用于訪問文本文件的對象,它是FileSystemObject一個獨(dú)立的附屬對象,但在使用TextStream對象時,我們?nèi)砸柚鶩ileSystemObject 對象或其附屬對象來創(chuàng)建一個 TextStream 對象并訪問磁盤文件的內(nèi)容??梢酝ㄟ^FileSystemObject 對象的CreateTextFile()及OpenTextFile(),來獲取TextStream的對象句柄。

下面我們來具體的看看TextStream 對象的方法及屬性的使用

TextStream對象的方法

方法 說明
Close() 關(guān)閉一個打開的文件
Read(numchars) 從文件中讀出 numchars 個字符
ReadAll() 作為單個字符串讀出整個文件
ReadLine() 作為一個字符串從文件中讀出一行(直到回車符和換行)
Skip(numchars) 當(dāng)從文件讀出時忽略 numchars 個字符
SkipLine() 當(dāng)從文件讀出時忽略下一行
Write(string) 向文件寫入字符串 string
WriteLine(string) 向文件寫入字符串 string(可選)和換行符
WriteBlankLines(n) 向文件寫入 n 個換行符

Close、Write、WriteLine及WriteBlankLines的使用

方法名:Close()

說明:關(guān)閉正在打開的文件

方法名:WriteLine(string)

說明:向文件寫入字符串 string(可選)和換行符。

示例:

Dim strPath,strText
strPath = "C:\testing.txt"
strText = "This is Test !hello word !"
'調(diào)用函數(shù)
Call CreateFile(strPath,strText)
 
Sub CreateFile(strPath,strText)
  Dim objFso,objStream
  '創(chuàng)建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
  '關(guān)閉TextStream對象
  objStream.Close
End Sub

Read、ReadAll及ReadLine的使用

方法名:Read(numchars)

說明:從 TextStream文件中讀入指定數(shù)目的字符并返回結(jié)果字符串。

方法名:ReadAll()

說明:讀入全部 TextStream文件并返回結(jié)果字符串。

方法名:ReadLine()

說明:從 TextStream文件中讀入一整行字符(直到下一行,但不包括下一行字符),并返回字符串

示例:

Call CreateFile("c:\test.txt", "This is Test !"  vbCrLf  "hello word !")
 
Sub CreateFile(strPath,strText)
  Dim objFso,objStream
  '創(chuàng)建FileSystemObject對象
  Set objFso = CreateObject("Scripting.FileSystemObject")
  '使用FileSystemObject對象的CreateTextFile(),來返回一個TextStream對象句柄
  Set objStream = objFso.CreateTextFile(strPath,True)
  '寫入字符
  objStream.WriteLine(strText)
  '讀取字符串分別是:讀取整行、讀取所有、讀取指定數(shù)目的字符
  Msgbox (objStream.ReadLine)
  Set objStream = objFso.OpenTextFile(strPath,1,true)
  Msgbox (objStream.ReadAll)
  Set objStream = objFso.OpenTextFile(strPath,1,true)
  Msgbox (objStream.Read(9))
  '關(guān)閉TextStream對象
  objStream.Close
End Sub

 Skip、SkipLine的使用

方法名:Skip(numchars)

說明:讀取 TextStream文件時跳過指定數(shù)目的字符

方法名:SkipLine()

說明:當(dāng)讀到 TextStream文件時,跳過下一行。

示例:

Dim strPath,strText
strPath = "C:\test.txt"
'調(diào)用函數(shù)
Call CreateFile(strPath)
 
Sub CreateFile(strPath)
  Dim objFso,objStream
  '創(chuàng)建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個字符;或者跳過當(dāng)前行,讀取下一行
  objStream.Skip(5)
  Msgbox objStream.ReadAll
  Set objStream = objFso.OpenTextFile(strPath,1,true)
  '跳過第一行
  objStream.SkipLine
  Msgbox objStream.ReadAll
  '關(guān)閉TextStream對象
  objStream.Close
End Sub

 TextStream對象的屬性

屬性

說明

AtEndOfLine

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

AtEndOfStream

如果文件位置指針在文件的末尾則返回 True

Column

從 1 開始返回文件中當(dāng)前字符的列號

Line

從 1 開始返回文件中當(dāng)前行的行號”

AtEndOfLine及AtEndOfStream的使用

兩者間的區(qū)別是:

AtEndOfLine——讀取到當(dāng)前文本行的末尾;

AtEndOfStream——讀取到整個文本的末尾

示例:

Dim strPath,strText
strPath = "C:\test.txt"
'調(diào)用函數(shù)
Call CreateFile(strPath)
 
Sub CreateFile(strPath)
  Dim objFso,objStream,str
  '創(chuàng)建FileSystemObject對象
  Set objFso = CreateObject ("Scripting.FileSystemObject")
  '以只讀的方式打開文件,如果文件不存在則創(chuàng)建它
  Set objStream = objFso.OpenTextFile(strPath,1,true)
  '如果當(dāng)前的指針不在行末,則讀取文本內(nèi)容
  Do While objStream.AtEndOfLine > true
    str = str + objStream.Read(1)
  Loop
  msgbox str
  str = ""
  Set objStream = objFso.OpenTextFile(strPath,1,true)
  '如果當(dāng)前的指針不在文本末端,則讀取文本內(nèi)容
  Do While objStream.AtEndOfStream > true
    str = str + objStream.Read(1)
  Loop
  MsgBox str
  '關(guān)閉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)
  '如果當(dāng)前的指針不在整個文檔的末尾,讀取文本的所有內(nèi)容
  Do While objTStream.AtEndOfStream > true
    objTStream.ReadAll
    str = str + "共有"  objTStream.Line  "行數(shù)據(jù),光標(biāo)最后所在列號為:" objTStream.Column  vbCrLf
  Loop
  '打印信息
  MsgBox str
End Sub  

文本讀取示例:

  如何讀取文本最后一行數(shù)據(jù)?  

Dim Fso,MyFile
Dim strLine
'創(chuàng)建FileSystemObject對象
Set Fso = CreateObject("Scripting.FileSystemObject")
'以只讀的方式打開文件
Set MyFile = Fso.OpenTextFile("C:\test.txt",1)
'直到到達(dá)文件尾
Do Until MyFile.AtEndOfStream
  '讀取當(dāng)前整行數(shù)據(jù)
  strLine = MyFile.ReadLine
Loop
MyFile.Close
MsgBox strLine

如何讀取文本最后一行數(shù)據(jù)(文件末尾有空行)?  

Dim Fso,MyFile
Dim strLine
'創(chuàng)建FileSystemObject對象
Set Fso = CreateObject("Scripting.FileSystemObject")
'以只讀的方式打開文件
Set MyFile = Fso.OpenTextFile("C:\test.txt",1)
Do Until MyFile.AtEndOfStream
  '讀取當(dāng)前整行字符串
  strNextLine = MyFile.ReadLine
  '判斷讀取的整行字符串是不是空白
  If Len(strNextLine) > 0 Then
    '不是空白,則賦值
    strLine = strNextLine
  End If
Loop
MyFile.Close
MsgBox strLine

讀取文本指定行內(nèi)容 

MsgBox TestTextStream("c:\test.txt",1)
 
Function TestTextStream(strPath,IntLine)
  Dim Fso,MyFile
  Set Fso = CreateObject("Scripting.FileSystemObject")
  '以只讀的方式打開文件
  Set MyFile = Fso.OpenTextFile(strPath,1)
  '如果當(dāng)前的指針不在整個文檔的末尾,讀取文本的整行內(nèi)容
  Do Until MyFile.AtEndOfStream
    TestTextStream = MyFile.ReadLine
    IntLine = IntLine - 1
    '判斷光標(biāo)是否已達(dá)到指定行,達(dá)到則退出函數(shù)
    If IntLine = 0 Then
      Exit Function
    End If
  Loop
End Function

這篇文章就結(jié)束到這了,需要的朋友可以參考一下。

標(biāo)簽:銅川 西安 文山 邢臺 鶴壁 四平 湖州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《VBS基礎(chǔ)篇 - vbscript TextStream對象》,本文關(guān)鍵詞  VBS,基礎(chǔ),篇,vbscript,TextStream,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《VBS基礎(chǔ)篇 - vbscript TextStream對象》相關(guān)的同類信息!
  • 本頁收集關(guān)于VBS基礎(chǔ)篇 - vbscript TextStream對象的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章