如何讀取和寫入至文字檔,藉由使用 Visual Basic 2005年或 Visual Basic。NET

文章翻譯 文章翻譯
文章編號: 315828 - 檢視此文章適用的產品。
Microsoft Visual Basic 6.0 這份文件的版本,請參閱 183638.
全部展開 | 全部摺疊

在此頁中

結論

本文將示範如何讀取和寫入使用 Microsoft Visual Basic 2005年或 Microsoft Visual Basic 的文字檔。NET 中。

需求

以下概括列出建議的硬體、 軟體、 網路基礎結構,以及您所需要的 service pack:
  • Visual Basic 2005年或 Visual Basic。NET
本文假設您已熟悉下列主題:
  • Visual Basic 2005年或 Visual Basic。NET

讀取及寫入文字檔

"The讀取文字檔"一節會說明如何使用StreamReader物件,以讀取文字檔。"The寫入文字檔案 (範例 1)"區段,"寫入文字檔案 (範例 2)"一節會示範如何使用StreamWriter類別,將文字寫入檔案。

讀取文字檔

下列程式碼會使用StreamReader類別,以開啟、 讀取,並關閉文字檔案。您可以傳遞StreamReader建構函式會自動開啟該檔案的文字檔案的路徑名稱。ReadLine方法會讀取每一行文字,並會增加檔案的指標下的一行,因為它會讀取。當ReadLine方法達到檔案結尾時,就會傳回Nothing
  1. 啟動 Microsoft Visual Studio 2005年或 Microsoft Visual Studio。NET 中。
  2. Visual Basic 2005年或 Visual Basic 中建立新的主控台應用程式.NET 中。
  3. Module1.vb 檔案頂端加入下列的程式碼:
    Imports System.IO
    					
  4. 將下列程式碼加入Sub Main程序。
    Dim objStreamReader As StreamReader
        Dim strLine As String
    
        'Pass the file path and the file name to the StreamReader constructor.
        objStreamReader = New StreamReader("C:\Boot.ini")
    
        'Read the first line of text.
        strLine = objStreamReader.ReadLine
    
        'Continue to read until you reach the end of the file.
        Do While Not strLine Is Nothing
    
          'Write the line to the Console window.
          Console.WriteLine(strLine)
    
          'Read the next line.
          strLine = objStreamReader.ReadLine
        Loop
    
        'Close the file.
        objStreamReader.Close()
    
        Console.ReadLine()
    					
  5. 在 [偵錯] 功能表上按一下 [開始進行編譯並執行應用程式]。按 ENTER 鍵關閉主控台視窗。

    [主控台] 視窗中顯示的 Boot.ini 檔案。附註從設定到 Boot.ini 檔案的內容可能會不同組態。下列的輸出是範例 Boot.ini 檔:
    [boot loader]
    timeout=5
    default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
    
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows 2000 Professional" /fastdetect
    C:\ = "Windows 98"
    						

寫入文字檔案 (範例 1)

若要開啟來寫入,並且關閉文字檔,下列程式碼會使用StreamWriter類別。類似到StreamReader,您可以傳遞文字檔案的路徑名稱, StreamWriter建構函式會自動開啟該檔案。WriteLine方法會將完整的一行文字寫入文字檔。
  1. 開始 Visual Studio 2005年或 Visual Studio。NET 中。
  2. Visual Basic 2005年或 Visual Basic 中建立新的主控台應用程式.NET 中。
  3. Module1.vb 頂端加入下列程式碼:
    Imports System.IO
    					
  4. 將下列程式碼加入Sub Main程序:
    Dim objStreamWriter As StreamWriter
        
       'Pass the file path and the file name to the StreamWriter constructor.
       objStreamWriter = New StreamWriter("C:\Testfile.txt")
    
       'Write a line of text.
       objStreamWriter.WriteLine("Hello World")
    
       'Write a second line of text.
       objStreamWriter.WriteLine("From the StreamWriter class")
    
       'Close the file.
       objStreamWriter.Close()
    					
  5. 在 [偵錯] 功能表上按一下 [開始進行編譯並執行應用程式]。

    這段程式碼會建立一個名為 Test.txt C.開啟 Test.txt 在文字編輯器這類的磁碟機上的檔案像 「 記事本 」。將 Test.txt 中包含兩行文字:
    Hello World
    From the StreamWriter class
    						

寫入文字檔案 (範例 2)

若要開啟來寫入,並且關閉文字檔,下列程式碼會使用StreamWriter類別。不同於上例中,這個程式碼會傳遞至兩個額外的參數建構函式。

第一個參數是檔案路徑和檔名該檔案。第二個參數,則為True,則會指定檔案開啟在新增模式。如果您指定的第二個參數,檔案的內容則每次您執行程式碼覆寫。第三個參數指定UnicodeStreamWriter將編碼的 Unicode 中的檔案。您也可以指定下列第三個參數的編碼方式:
  • ASCII
  • BigEndianUnicode
  • UTF7
  • UTF8
Write方法是WriteLine方法類似,不同之處在於撰寫並不會自動內嵌歸位/換 (CR/LF)字元組合。這會很有用,當您想要撰寫一個字元時間。
  1. 開始 Visual Studio 2005年或 Visual Studio。NET 中。
  2. Visual Basic 2005年或 Visual Basic 中建立新的主控台應用程式.NET 中。
  3. Module1.vb 頂端加入下列程式碼:
    Imports System.IO
    Imports System.Text
    					
  4. 將下列程式碼加入Sub Main程序,在 [現有的程式碼下:
    Dim objStreamWriter As StreamWriter
       Dim x As Long
        
       'Open the file.
       objStreamWriter = New StreamWriter("C:\Test2.txt", True, _
          Encoding.Unicode)
    
       'Write out the numbers 1 through 10 on the same line.
       For x = 1 To 10
         objStreamWriter.Write(x)
       Next x
        
       'Close the file.
       objStreamWriter.Close()
    					
  5. 在 [偵錯] 功能表上按一下 [開始進行編譯並執行應用程式]。

    這段程式碼會建立一個名為 Test2.txt 在文字編輯器這類的磁碟機 c。 開啟 Test2.txt 的檔案像 「 記事本 」。Test2.txt 包含單行文字:
    12345678910
    							
    附註執行程式碼數次,「 123456789"文字重複顯示在同一行。

完整程式碼清單

'Read a Text File
Imports System.IO
Module Module1

    Sub Main()
        Dim objStreamReader As StreamReader
        Dim strLine As String

        'Pass the file path and the file name to the StreamReader constructor.
        objStreamReader = New StreamReader("C:\Boot.ini")

        'Read the first line of text.
        strLine = objStreamReader.ReadLine

        'Continue to read until you reach the end of the file.
        Do While Not strLine Is Nothing

            'Write the line to the Console window.
            Console.WriteLine(strLine)

            'Read the next line.
            strLine = objStreamReader.ReadLine
        Loop

        'Close the file.
        objStreamReader.Close()

        Console.ReadLine()
    End Sub
End Module

'Write a Text File: Version 1
Imports System.IO
Module Module1

    Sub Main()
        Dim objStreamWriter As StreamWriter

        'Pass the file path and the file name to the StreamWriter constructor.
        objStreamWriter = New StreamWriter("C:\Text.txt")

        'Write a line of text.
        objStreamWriter.WriteLine("Hello World")

        'Write a second line of text.
        objStreamWriter.WriteLine("From the StreamWriter class")

        'Close the file.
        objStreamWriter.Close()

    End Sub
End Module

'Write a Text File: Version 2
Imports System.IO
Imports System.Text
Module Module1

    Sub Main()
        Dim objStreamWriter As StreamWriter
        Dim x As Long

        'Open the file.
        objStreamWriter = New StreamWriter("C:\Test2.txt", True, _
           Encoding.Unicode)

        'Write out the numbers 1 through 10 on the same line.
        For x = 1 To 10
            objStreamWriter.Write(x)
        Next x

        'Close the file.
        objStreamWriter.Close()
    End Sub

End Module
				

疑難排解

當您輸入或輸出檔時,是良好的程式設計換行的程式碼,請試著-一般-Try區塊內,萬一發生錯誤的作法。一些可能的錯誤包括檔案不存在或已在使用中的檔案。

?考

如需詳細資訊,請造訪下列 Microsoft 網站站台:
我要如何...讀取文字檔??
http://msdn.microsoft.com/en-us/library/db5x7c0d.aspx


我要如何...讀取和寫入大型檔案嗎?
http://msdn.microsoft.com/en-us/library/6ka1wd3w (v=vs.80).aspx

? 類別
http://msdn.microsoft.com/en-us/library/system.io.streamreader (v=vs.71).aspx

StreamWriter 類別
http://msdn.microsoft.com/en-us/library/system.io.streamwriter (v=vs.71).aspx

屬性

文章編號: 315828 - 上次校閱: 2012年6月7日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
關鍵字:?
kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB315828 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:315828
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com