濮阳杆衣贸易有限公司

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

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

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

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

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

TextStream對(duì)象的方法

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

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對(duì)象
  Set objFso = CreateObject("Scripting.FileSystemObject")
  '使用CreateTextFile(),來返回一個(gè)TextStream對(duì)象句柄
  Set objStream = objFso.CreateTextFile(strPath,True)
  '三個(gè)Write的意思為:在文本中寫入字符、寫入帶換行符的字符、寫入3個(gè)換行符
  objStream.Write(strText)
  objStream.WriteLine(strText)
  objStream. WriteBlankLines 3
  '關(guān)閉TextStream對(duì)象
  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對(duì)象
  Set objFso = CreateObject("Scripting.FileSystemObject")
  '使用FileSystemObject對(duì)象的CreateTextFile(),來返回一個(gè)TextStream對(duì)象句柄
  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對(duì)象
  objStream.Close
End Sub

 Skip、SkipLine的使用

方法名:Skip(numchars)

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

方法名:SkipLine()

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

示例:

Dim strPath,strText
strPath = "C:\test.txt"
'調(diào)用函數(shù)
Call CreateFile(strPath)
 
Sub CreateFile(strPath)
  Dim objFso,objStream
  '創(chuàng)建FileSystemObject對(duì)象
  Set objFso = CreateObject ("Scripting.FileSystemObject")
  '使用FileSystemObject對(duì)象的CreateTextFile(),來返回一個(gè)TextStream對(duì)象句柄
  Set objStream = objFso.CreateTextFile(strPath,True)
  '在文本中寫入字符
  objStream.Write "This is Test !"  vbCrLf  "hello word !"
  '以只讀的方式打開文件
  Set objStream = objFso.OpenTextFile(strPath,1,true)
  '讀取文件時(shí)跳過5個(gè)字符;或者跳過當(dāng)前行,讀取下一行
  objStream.Skip(5)
  Msgbox objStream.ReadAll
  Set objStream = objFso.OpenTextFile(strPath,1,true)
  '跳過第一行
  objStream.SkipLine
  Msgbox objStream.ReadAll
  '關(guān)閉TextStream對(duì)象
  objStream.Close
End Sub

 TextStream對(duì)象的屬性

屬性

說明

AtEndOfLine

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

AtEndOfStream

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

Column

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

Line

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

AtEndOfLine及AtEndOfStream的使用

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

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

AtEndOfStream——讀取到整個(gè)文本的末尾

示例:

Dim strPath,strText
strPath = "C:\test.txt"
'調(diào)用函數(shù)
Call CreateFile(strPath)
 
Sub CreateFile(strPath)
  Dim objFso,objStream,str
  '創(chuàng)建FileSystemObject對(duì)象
  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對(duì)象
  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)前的指針不在整個(gè)文檔的末尾,讀取文本的所有內(nèi)容
  Do While objTStream.AtEndOfStream > true
    objTStream.ReadAll
    str = str + "共有"  objTStream.Line  "行數(shù)據(jù),光標(biāo)最后所在列號(hào)為:" objTStream.Column  vbCrLf
  Loop
  '打印信息
  MsgBox str
End Sub  

文本讀取示例:

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

Dim Fso,MyFile
Dim strLine
'創(chuàng)建FileSystemObject對(duì)象
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對(duì)象
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)前的指針不在整個(gè)文檔的末尾,讀取文本的整行內(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)簽:銅川 西安 文山 邢臺(tái) 鶴壁 四平 湖州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《VBS基礎(chǔ)篇 - vbscript TextStream對(duì)象》,本文關(guān)鍵詞  VBS,基礎(chǔ),篇,vbscript,TextStream,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《VBS基礎(chǔ)篇 - vbscript TextStream對(duì)象》相關(guān)的同類信息!
  • 本頁收集關(guān)于VBS基礎(chǔ)篇 - vbscript TextStream對(duì)象的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    永胜县| 广宁县| 花莲市| 赤城县| 乌拉特中旗| 大渡口区| 桂林市| 奎屯市| 陇南市| 越西县| 永吉县| 马边| 济阳县| 大埔区| 芦溪县| 托克逊县| 同江市| 洪江市| 布拖县| 铜川市| 阿克苏市| 高碑店市| 张家口市| 泽州县| 罗江县| 旺苍县| 美姑县| 临澧县| 神木县| 中西区| 吴川市| 安阳县| 伊春市| 渝北区| 石首市| 长治县| 遂宁市| 洪泽县| 什邡市| 军事| 文成县|