VB.NET文本文件操作一點(diǎn)通
今天和大家分享一下關(guān)于VB.NET文本文件操作的方法,希望對大家有幫助。此種方式是以行為單位進(jìn)行讀取的基本單位,主要應(yīng)用的方法和函數(shù)有Open,Close,Line Input,FreeFile,EOF等。下面先簡述其功能然后結(jié)合代碼示例進(jìn)行說明。
#T#Open:顧名思義,它的作用是打開文件,換而言之打開某個(gè)文件就是獲得某個(gè)的控制權(quán),一般情況下當(dāng)文件處于打開狀態(tài)時(shí)只有打開者才能對它進(jìn)行操作。打開文件時(shí)要指定一個(gè)整數(shù)作為文件號(hào),以后的操作都是針對這個(gè)代號(hào)進(jìn)行的,而不是針對文件名。文件號(hào)也叫句柄,在程序中一個(gè)文件號(hào)只能指向一個(gè)文件,不能出現(xiàn)兩個(gè)文件同時(shí)具有相同句柄的情況。
Close:關(guān)閉文件,即釋放文件的控制權(quán)。
Line Input:以行為單位取得文件內(nèi)容,以行為單位是指從當(dāng)前位置開始到下一個(gè)換行符為止的內(nèi)容。換行符是Chr(13) & Chr(10)兩個(gè)字節(jié)組成,VB中已定義了常量vbCrLf,可直接使用。要注意的是Line Input讀取一行時(shí)會(huì)把行尾的換行符去掉,因此我們在讀取每行內(nèi)容時(shí)要記得補(bǔ)上換行符才能保持得到的內(nèi)容與文件一致。
FreeFile:得到空閑的文件號(hào),用這個(gè)函數(shù)取得文件號(hào)可以避免文件號(hào)的沖突。
VB.NET文本文件操作例如:
- Dim strFileName As String '文件名
- Dim lngHandle As Long '文件句柄
- Dim strAll As String '所讀取的文本文件的所有內(nèi)容
- Dim strLine As String '在循環(huán)中存放每行的內(nèi)容
- strFileName = "c:\.txt"
- '獲得文件的句柄
- lngHandle = FreeFile()
- 'For后面的參數(shù)表示以何種方式打開文件,Input是讀取,Output是覆蓋寫入,Append是追加寫入
- Open strFileName For Input As lngHandle
- '循環(huán)直到文件尾
- Do While Not EOF(lngHandle)
- '每次讀取一行存放在strLine變量中
- Line Input #lngHandle, strLine
- '每次讀取都把所讀到的內(nèi)容連接到strAll變量,由于Line Input去掉了換行符,所以這里補(bǔ)上
- strAllstrAll = strAll & strLine & vbCrLf
- Loop
- '顯示得到的全部分內(nèi)容
- MsgBox strAll, vbInformation
對VB.NET文本文件操作的寫入相對簡單些,有三個(gè)步驟:打開文件,寫入文本,關(guān)閉文件。
代碼示例:
- Dim strFileName As String '文件名
- Dim lngHandle As Long '句柄
- Dim strWrite As String '要寫入的文本內(nèi)容
- strFileName = "c:\w.txt"
- lngHandle = FreeFile() '取得句柄
- '準(zhǔn)備要寫入的內(nèi)容
- strWrite = "落日樓頭,斷鴻聲里,江南游子。把吳鉤看了,欄干拍遍,無人會(huì)、登臨意。"
- Open strFileName For Output As lngHandle '打開文件
- Print #lngHandle, strWrite '寫入文本
- Close lngHandle '關(guān)閉文件
- MsgBox "寫入完成。", vbInformation