Jak číst a zapisovat do textového souboru pomocí jazyka Visual Basic 2005 nebo Visual Basic .NET

Pro Microsoft Visual Basic 6.0 verzi tohoto článku naleznete v tématu 183638 .

Souhrn

Tento článek ukazuje, jak číst a zapisovat do textového souboru pomocí aplikace Microsoft Visual Basic 2005 nebo Microsoft Visual Basic .NET.

Požadavky

Následující seznam obsahuje doporučený hardware, software, síťovou infrastrukturu a aktualizace service Pack, které potřebujete:
  • Visual Basic 2005 nebo Visual Basic .NET
Tento článek předpokládá, že jste obeznámeni s následující témata:
  • Visual Basic 2005 nebo Visual Basic .NET

Číst a zapisovat textové soubory

"Pro čtení textového souboru" oddíl ukazuje, jak použít objekt StreamReader číst textový soubor. Oddíl "zápis do textového souboru (Příklad 1)" a "zápis do textového souboru (Příklad 2)" části ukazují, jak použít třídu StreamWriter zapsání textu do souboru.

Čtení textového souboru

Následující kód používá StreamReader třída otevřít, číst a textový soubor zavřete. Můžete předat název cesty do textového souboru do konstruktoru StreamReader k otevření souboru automaticky. ReadLine metoda přečte každý řádek textu a zvýší ukazatel na na další řádek jej čte. Když ReadLine metoda dosáhne konce souboru, vrátí Nothing.
  1. Spusťte Microsoft Visual Studio 2005 nebo Microsoft Visual Studio .NET.
  2. Vytvoření nové aplikace konzoly v jazyce Visual Basic 2005 nebo Visual Basic .NET.
  3. Na začátek souboru Module1.vb přidejte následující kód:
    Imports System.IO
  4. Přidejte následující kód do procedury 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. V nabídce Debug klepněte na tlačítko Start ke kompilaci a spuštění aplikace. Stisknutím klávesy ENTER zavřete okno konzoly.

    V okně konzoly se zobrazí soubor Boot.ini. Všimněte si, že obsah souboru Boot.ini se mohou lišit od konfigurace konfigurace. Následující výstup je ukázkový soubor 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"

Zápis textového souboru (Příklad 1)

Následující kód používá třída StreamWriter otevřete, zápis a textový soubor zavřete. Podobná StreamReader, můžete předat název cesty do textového souboru do konstruktoru StreamWriter automaticky otevřít soubor. WriteLine Metoda zapíše celý řádek textu do textového souboru.
  1. Spusťte aplikaci Visual Studio 2005 nebo Visual Studio .NET.
  2. Vytvoření nové aplikace konzoly v jazyce Visual Basic 2005 nebo Visual Basic .NET.
  3. Na začátek Module1.vb přidejte následující kód:
    Imports System.IO
  4. Přidejte následující kód do procedury 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. V nabídce Debug klepněte na tlačítko Start ke kompilaci a spuštění aplikace.

    Tento kód vytvoří soubor s názvem Test.txt na jednotce C. otevřít Test.txt v textovém editoru, například programu Poznámkový blok. Test.txt obsahuje dva řádky textu:
    Hello World
    From the StreamWriter class

Zápis textového souboru (Příklad 2)

Následující kód používá třída StreamWriter otevřete, zápis a textový soubor zavřete. Na rozdíl od předchozího příkladu tento kód předá dva další parametry konstruktoru.

První parametr je cesta k souboru a název souboru souboru. Druhý parametr hodnotu True, určuje, že soubor otevřít v režim přidat. Pokud zadáte
False pro druhý parametr, obsah souboru, budou přepsány pokaždé, když spustíte kód. Třetí parametr určuje Unicode tak, aby StreamWriter kóduje soubor ve formátu Unicode. Můžete také zadat následující metody kódování pro třetí parametr:
  • ASCII
  • BigEndianUnicode
  • UTF7
  • UTF8
Write metoda je podobná WriteLine metoda Zapsat Nevkládat automaticky carriage return a line feed kombinaci znaků (znaky CR/LF). To je užitečné, když chcete psát jednotlivé znaky na čas.
  1. Spusťte aplikaci Visual Studio 2005 nebo Visual Studio .NET.
  2. Vytvoření nové aplikace konzoly v jazyce Visual Basic 2005 nebo Visual Basic .NET.
  3. Na začátek Module1.vb přidejte následující kód:
    Imports System.IOImports System.Text

  4. Přidejte následující kód do procedury Sub Main v rámci existující kód:
    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. V nabídce Debug klepněte na tlačítko Start ke kompilaci a spuštění aplikace.

    Tento kód vytvoří soubor s názvem Test2.txt na jednotce C. otevřít text2.txt v textovém editoru, například programu Poznámkový blok. Test2.txt obsahuje jeden řádek textu:
    12345678910

    Poznámka: Je-li spustit kód několikrát opakuje "123456789" text na stejném řádku.

Úplný výpis kódu

'Read a Text FileImports 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

Poradce při potížích

Při každém vstupu nebo výstupu do souboru, je dobrým programovacím postupem zabalit kód uvnitř bloku Try-End Try , v případě, že dojde k chybě. Mezi možné chyby patří soubor, který neexistuje, nebo soubor, který je již používán.

Odkazy

Další informace naleznete na následujících webech společnosti Microsoft:
Vlastnosti

ID článku: 315828 - Poslední kontrola: 20. 1. 2017 - Revize: 2

Váš názor