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

Překlady článku Překlady článku
ID článku: 315828 - Produkty, které se vztahují k tomuto článku.
Microsoft Visual Basic 6.0 verzi tohoto článku v tématu 183638.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek ukazuje, jak číst a zapisovat textový soubor 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ématy:
  • Visual Basic 2005 nebo Visual Basic .NET

Číst a zapisovat textové soubory

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

Čtení textového souboru

Následující kód používá třída StreamReader 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. Metoda ReadLine načte každý řádek textu a zvýší ukazatel na na další řádek tak, jak je přečte. Konec souboru dosáhne metodu ReadLine nevrátil žádná data.
  1. Spusťte aplikaci 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 ukončete Okno konzoly.

    V okně konzoly se zobrazí v souboru Boot.ini. Poznámka: obsah souboru Boot.ini mohou lišit 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 do 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é k StreamReadermůžete předat název cesty souboru text 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. 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 takové jako poznámkový blok. Test.txt obsahuje dva řádky textu:
    Hello World
    From the StreamWriter class
    						

Zápis do 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 v předchozím příkladu, tento kód předává dva další parametry, které mají konstruktor.

První parametr je cesta k souboru a název souboru soubor. Druhý parametr hodnotu True, určuje, že soubor otevřít v režim přidat. Pokud zadáte False pro druhý parametr, je obsah souboru pokaždé, když spustíte kód přepsán. Třetí parametr určuje Unicode tak, aby StreamWriter kóduje soubor ve formátu Unicode. Můžete také zadat následující třetí parametr metody kódování:
  • ASCII
  • BigEndianUnicode
  • UTF7
  • UTF8
Metoda Write je podobná metodě WriteLine , s tím rozdílem, že zápis nevloží automaticky carriage return a line feed (CR/LF) kombinaci znaků. 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. Začátek Module1.vb přidejte následující kód:
    Imports System.IO
    Imports System.Text
    					
  4. Přidejte následující kód do procedury Sub Main v rámci existujícího kódu:
    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 takové jako poznámkový blok. Test2.txt obsahuje jeden řádek textu:
    12345678910
    							
    Poznámka: Je-li spustit kód několikrát "123456789" text je opakovat na stejném řádku.

Úplný výpis kódu

'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
				

Poradce při potížích

Vždy, když vstupní nebo výstupní soubor, je dobrým programovacím praxe zalomení kód do 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ím webu společnosti Microsoft weby:
Jak na to...Číst textový soubor?
http://msdn.microsoft.com/en-us/library/db5x7c0d.aspx


Jak na to...Ke čtení a zápisu velkých souborů?
http://msdn.microsoft.com/en-us/library/6ka1wd3w (v=vs.80) .aspx

Třída StreamReader
http://msdn.microsoft.com/en-us/library/System.IO.StreamReader (v=vs.71) .aspx

Třída StreamWriter
http://msdn.microsoft.com/en-us/library/System.IO.StreamWriter (v=vs.71) .aspx

Vlastnosti

ID článku: 315828 - Poslední aktualizace: 31. ledna 2013 - Revize: 10.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Klíčová slova: 
kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB315828 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku: 315828

Dejte nám zpětnou vazbu

 

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