vb.net中創(chuàng)建寫(xiě)入流 vbnet ini

新手關(guān)于VB.net的問(wèn)題

您好,在Visual Basic.NET中,是沒(méi)有像這樣的文件I/O操作的,一般都是通過(guò)System.IO.StreamReader和System.IO.StreamWriter類,System.IO.BinaryReader和System.IO.BinaryWriter類來(lái)讀寫(xiě)文件以及利用My.Computer.FileSystem類讀寫(xiě)文件,利用System.IO.Filestream類來(lái)創(chuàng)建文件,通過(guò)引用Microsoft Scripting Runtime來(lái)執(zhí)行文件(夾)和驅(qū)動(dòng)器的特殊操作,常用的是System.IO.StreamReader和System.IO.StreamWriter類。

成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),歷城網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:歷城等地區(qū)。歷城做網(wǎng)站價(jià)格咨詢:028-86922220

例如說(shuō)要讀取一個(gè)文件,我們可以利用System.IO.StreamReader類編寫(xiě)一個(gè)方法(也就是函數(shù)),但是首先要在當(dāng)前類的開(kāi)頭添加一個(gè)引用,引用名稱:System.IO,添加引用的代碼如下

Imports System.IO

添加引用之后,就在當(dāng)前類的內(nèi)部創(chuàng)建方法:

Private Function ReadFile(ByVal FileURL As String) As String

Dim sr As StreamReader = New StreamReader(FileURL)

ReadFile = sr.ReadToEnd()

sr.Close()

sr = Nothing

End Function

示例說(shuō)明:

該方法是一個(gè)返回String(字符串)數(shù)據(jù)的函數(shù),F(xiàn)ileURL作為參數(shù)是用來(lái)存放需要訪問(wèn)的文件的URL,當(dāng)然,要獲取一個(gè)文件的URL,就是利用這一句代碼實(shí)現(xiàn)的:

Dim sr As StreamReader = New StreamReader(FileURL)

當(dāng)獲取了URL之后,就要對(duì)文件進(jìn)行讀取操作了,然后將讀取的結(jié)果返回給方法:

ReadFile = sr.ReadToEnd()

讀取文件完畢之后,要對(duì)文件執(zhí)行關(guān)閉操作:

sr.Close()

當(dāng)然別忘了清理資源:

sr = Nothing

StreamReader類可以從流或文件中讀取字符,在創(chuàng)建StreamREader類的對(duì)象時(shí),可以指定一個(gè)流對(duì)象,也可以指定一個(gè)文件URL,創(chuàng)建對(duì)象后就可以調(diào)用他的方法,從流中讀取數(shù)據(jù),其常用方法如下:

Peek:返回下一個(gè)可用字符,但不使用它。

Read:讀取輸入流中下一個(gè)字符或一組字符并移動(dòng)流或文件指針。

ReadBlock:從當(dāng)前流中讀取最大數(shù)量字符并從index開(kāi)始將數(shù)據(jù)寫(xiě)入buffer。

ReadLine:從當(dāng)前流中讀取一行字符并將字符作為String返回。

REadToEnd:從流的當(dāng)前位置到末尾讀取流。

Close:關(guān)閉打開(kāi)的對(duì)象,釋放資源。

注:流,一種新的數(shù)據(jù)格式,這種格式可通過(guò)System.IO命名空間下的類訪問(wèn)。流用Stream類表示,所有的流都是從這個(gè)類中繼承的。流向用戶提供了一個(gè)一般的數(shù)據(jù)視圖,隱藏了操作系統(tǒng)和底層設(shè)備的實(shí)現(xiàn)細(xì)節(jié),所有的流都支持讀寫(xiě)操作。在打開(kāi)文件時(shí)將返回對(duì)應(yīng)的流對(duì)象,用戶可以對(duì)流對(duì)象進(jìn)行讀寫(xiě)操作。

如果要對(duì)文件執(zhí)行按行讀取操作,這時(shí)就會(huì)用到枚舉,這時(shí)候,代碼就要更改一下了:

Private Function ReadFile(ByVal FileURL As String) As String

Dim sr As StreamReader = New StreamReader(FileURL)

For Each fLine As String In sr.ReadToEnd()

Line = sr.ReadLine()

ReadFile = ReadFile fLine

Next sr.ReadLine

sr.Close()

End Function

示例說(shuō)明:

For Each…Next:派生于For…Next循環(huán),用于枚舉一系列對(duì)象中的成員,而這些對(duì)象組成集合,如果集合中至少存在一個(gè)元素,程序就會(huì)靜茹For Each塊執(zhí)行。其格式如下:

For Each 元素 [As 數(shù)據(jù)類型] In 元素集合

[循環(huán)體]

[Exit For]

[循環(huán)體]

Next [元素]

比如:

Dim CountNumber As ULong = 0

Dim FolderName() As String = New String() {" "}

For Each strFolder As String In My.Computer.FileSystem.GetDirectories("C:\")

CountNumber = CountNumber + 1

ReDim Preserve FolderName(1 To CountNumber)

FolderName = strFolder

Next strFolder

注:My.Computer.FileSystem.GetDirectories:主要用來(lái)枚舉指定目錄的子文件夾。

Preserve:主要用來(lái)避免重定義數(shù)組而不損失數(shù)組元素的原有數(shù)據(jù)。

另外,利用My.Computer.FileSystem也可以實(shí)現(xiàn)文件的讀取,其代碼如下:

Dim fpReader As String = My.Computer.FileSystem.ReadAllText("C:\test.txt")

示例說(shuō)明:

定義一個(gè)字符串變量利用My.Computer.FileSystem.ReadAllText來(lái)實(shí)現(xiàn)對(duì)“C:\test.txt”的讀取。

如果是已經(jīng)編碼的文本,則可以使用My.Computer.FileSystem對(duì)象中的ReadAllText方法并提供路徑和文件編碼類型,將文本寫(xiě)入字符串變量中,例如:

Dim fpReader As String = My.Computer.FileSystem.ReadAllText("C:\test.txt", _

System.Text.Encoding.UTF32)

當(dāng)然,System.Text.Encoding的成員不止一個(gè),它還有如下成員:

System.Text.Encoding.UTF8

System.Text.Encoding.UTF16

System.Text.Encoding.ASCII

System.Text.Encoding.Unicode

這些是常見(jiàn)的成員,也是主要的成員。

另外,利用My.Computer.Filesystem類無(wú)法實(shí)現(xiàn)文件的行操作,還有,如果您的計(jì)算機(jī)未安裝完整的Microsoft.NET Framework Runtime,則無(wú)法實(shí)現(xiàn)這種操作!

寫(xiě)入文件的操作同樣簡(jiǎn)單,Visual Basic.NET 允許用戶使用StreamWriter來(lái)對(duì)文件寫(xiě)入內(nèi)容,下面就讓我們來(lái)創(chuàng)建一個(gè)子例程,來(lái)實(shí)現(xiàn)文件的寫(xiě)入:

Private Sub WriterFile(ByVal FileURL As String, ByVal FileCon As String)

Dim sr As StreamWriter = New StreamWriter(FileURL)

sr.Write(FileCon)

sr.Close()

sr = Nothing

End Sub

示例說(shuō)明:

sr.Write(FileCon):將FileCon寫(xiě)入文件FileURL之中。

另外,StreamWriter常用方法如下:

WriteLine:向流中寫(xiě)入一行,后面跟結(jié)束符。

Write:寫(xiě)入流,向流對(duì)象中寫(xiě)入字符并移動(dòng)流或文件指針。

Close:關(guān)閉打開(kāi)的對(duì)象,釋放資源。

附:Visual Basic 6.0文件操作解說(shuō):

打開(kāi): Open 文件名 For Input | Output | Append As [#]文件號(hào)

Input打開(kāi)讀入,文件不存在報(bào)錯(cuò)。Output打開(kāi)覆蓋寫(xiě)入,文件不存在則創(chuàng)建。Append打 開(kāi)追加寫(xiě)入,文件不存在則創(chuàng)建。

讀: Line Input #文件號(hào), 字符串變量

讀一行數(shù)據(jù)存入字符串變量,數(shù)據(jù)包括空格、Tab、等,不包括回車符和換行符,所以要顯示文件的換行效果,要手動(dòng)添加回車符和換行符(vbCrLf)

Input #文件號(hào), 變量1[, | ;] [變量2]...

這種方式可以存入多個(gè)變量,而且變量類型不限于字符串型。

寫(xiě): Print #文件號(hào), 參數(shù)1[, | ;] [參數(shù)2]...

將各參數(shù)逐個(gè)寫(xiě)入文件。參數(shù)間用逗號(hào)隔開(kāi)時(shí),文件中相應(yīng)插入多個(gè)空格;用分號(hào)隔開(kāi)時(shí),插入一個(gè)空格??梢杂肧pc(n)、Tab(n)等進(jìn)行排版。

Write #文件號(hào), 參數(shù)1[, | ;] [參數(shù)2]...

這種寫(xiě)入方式將自動(dòng)添加界定符,對(duì)不同參數(shù)的類型加以界定。

Visual Basic 6.0文件操作函數(shù):

Seek: Seek(文件號(hào))

返回文件正在訪問(wèn)的位置,返回值為長(zhǎng)整型。對(duì)順序文件和二進(jìn)制文件,返回值以字節(jié)為單位;對(duì)隨機(jī)訪問(wèn)文件,返回值以記錄號(hào)為單位。

Seek: Seek [#]文件號(hào),位置

定位文件到指定位置。位置單位同上所述。

Input: Input (字節(jié)數(shù),[#]文件號(hào))

從文件的訪問(wèn)當(dāng)前位置讀入指定字節(jié)數(shù)的數(shù)據(jù)。僅適用于順序文件和二進(jìn)制文件。

EOF: EOF(文件號(hào))

判斷文件的訪問(wèn)位置是否在文件尾,如果是,返回True,否則,返回False。

LOF: LOF(文件號(hào))

返回文件長(zhǎng)度,單位為字節(jié)。

FileLen: FileLen (文件名)

返回文件名對(duì)應(yīng)文件的長(zhǎng)度,單位是字節(jié)。該函數(shù)取磁盤文件標(biāo)識(shí)中的長(zhǎng)度,即文件打開(kāi)前的長(zhǎng)度,可以取未打開(kāi)的文件長(zhǎng)度。

GetAttr: GetAttr (Pathname)

返回指定文件或文件夾的屬性。

FileAttr: FileAttr (文件號(hào))

返回文件號(hào)對(duì)應(yīng)文件的打開(kāi)方式。

GetDateTime: GetDateTime (Pathname)

返回文件被創(chuàng)建或修改的最后日期和時(shí)間。

Free: FreeFile[(0|1)]

返回未被占用的文件號(hào),F(xiàn)ree或Free(0)返回1~255之間未占用的文件號(hào),F(xiàn)ree(1)返回256~511之間未占用的文件。

Dir: Dir (Pathname [,Attributes])

測(cè)試指定路徑是否有某文件,Attributes附加文件屬性條件,取值vbNormal、vbReadOnly、vbHidden、vbSystem、vbVolume、vbDirectory。

Kill: Kill (文件名)

刪除指定文件,文件名可包含路徑。

FileCopy: FileCopy 源文件,目標(biāo)文件

拷貝文件。

Name: Name 舊文件名 As 新文件名

文件重命名。前后路徑不一致時(shí),操作為移動(dòng)文件并重命名。

MkDir: MkDir path

新建文件夾。

RmDir: Rmdir path

刪除文件夾。

ChDrive: ChDrive Drive

改變當(dāng)前驅(qū)動(dòng)器 ChDrive "D"

CurDir: CurDir [(driver)]

返回當(dāng)前工作路徑,指定driver則返回目標(biāo)驅(qū)動(dòng)器的當(dāng)前工作路徑。

舉例:

'新建文件,并寫(xiě)入數(shù)據(jù),關(guān)閉

Open "a.txt" For Output As #1

Print #1, "ABCDEFG"; vbCrLf; "HIJK"

Close #1

'打開(kāi)文件,并全部寫(xiě)入新文件,關(guān)閉

Open "a.txt" For Input As #2

Open "b.txt" For Output As #3

Dim str As String

While (Not EOF(2))

Line Input #2, str

Print #3, str

Wend

Close

注:關(guān)于Visual Basic 6.0的文件操作資料來(lái)自于

如果您覺(jué)得我的回答幫助了您解決難題,別忘了采納哦,如果我的回答未能解決您的問(wèn)題,您可以在互聯(lián)網(wǎng)上尋找更多的解決方案!

vb.net 里怎樣才能只寫(xiě)入一行到指定文件里

對(duì)文件流進(jìn)行操作,所以模塊前面要加上:

Imports System.IO

使用System.IO的StreamWriter,下面是代碼:

Dim strFilePath As String = "E:\Study\test\夢(mèng)語(yǔ).txt" 'SaveFileDialog1.FileName 'strFilePath是文件名

Dim sw As StreamWriter = New StreamWriter(strFilePath,True) 'true是指以追加的方式打開(kāi)指定文件

temp = TextBox1.Text

sw.WriteLine(temp)

sw.Close()

vb.net中,讀取和寫(xiě)入文件

寫(xiě)入:Dim sr As New IO.StreamWriter(Application.StartupPath "/寫(xiě)入的文本.txt")

sr.WriteLine("寫(xiě)入的內(nèi)容") sr.Close()讀取:If (File.Exists(Application.StartupPath "/msg.txt")) Then

Dim fm As New IO.FileStream(Application.StartupPath "/讀取的文本.txt", FileMode.Open)

Dim sr As IO.StreamReader = New IO.StreamReader(fm)

Do While sr.Peek() = 0

TextBox1.Text = sr.ReadLine() (讀取文本到文本框)

Loop end if

當(dāng)前題目:vb.net中創(chuàng)建寫(xiě)入流 vbnet ini
網(wǎng)頁(yè)URL:http://bm7419.com/article24/dohggje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、手機(jī)網(wǎng)站建設(shè)、軟件開(kāi)發(fā)定制開(kāi)發(fā)、小程序開(kāi)發(fā)、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司