Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Metoda ReadAllText objektu My.Computer.FileSystem umožňuje číst z textového souboru. Kódování souboru lze zadat, pokud obsah souboru používá kódování, jako je ASCII nebo UTF-8.
Pokud čtete soubor s rozšířenými znaky, budete muset zadat kódování souboru.
Poznámka:
Pokud chcete najednou přečíst soubor s jedním řádkem textu, použijte OpenTextFileReader metodu objektu My.Computer.FileSystem . Metoda OpenTextFileReader vrátí objekt StreamReader. Metodu ReadLine objektu StreamReader můžete použít ke čtení souboru po jednom řádku. Můžete otestovat konec souboru pomocí EndOfStream metody objektu StreamReader .
Čtení z textového souboru
ReadAllText Použijte metodu objektu My.Computer.FileSystem ke čtení obsahu textového souboru do řetězce a zadejte cestu. Následující příklad přečte obsah test.txt do řetězce a pak ho zobrazí v poli se zprávou.
Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("test.txt")
MsgBox(fileReader)
Čtení z textového souboru, který je kódovaný
ReadAllText Použijte metodu objektu My.Computer.FileSystem ke čtení obsahu textového souboru do řetězce a zadejte cestu a typ kódování souboru. Následující příklad přečte obsah souboru UTF32 test.txt do řetězce a pak ho zobrazí v poli se zprávou.
Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("test.txt",
System.Text.Encoding.UTF32)
MsgBox(fileReader)
Číst z textového souboru do ovládacího prvku RichTextBox
Pokud chcete načíst obsah textového souboru přímo do ovládacího prvku RichTextBox, přečtěte si obsah souboru do řetězce a přiřaďte ho vlastnosti Text RichTextBox. Následující příklad ukazuje, jak číst textový soubor a načíst ho do ovládacího prvku RichTextBox.
' Load text file into a RichTextBox control
' Note: This assumes RichTextBox1 is a control on your form
Dim fileText As String
fileText = My.Computer.FileSystem.ReadAllText("test.txt")
' RichTextBox1.Text = fileText
Pro lepší zpracování chyb a správu cest k souborům můžete použít následující přístup, který vytvoří správnou cestu k souboru a zpracuje potenciální výjimky. Tento přístup zabraňuje pevně zakódovaným cestám disků, které můžou způsobovat problémy v různých systémech:
' Load text file into a RichTextBox control using a specific path
Try
Dim filePath As String = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "test.txt")
Dim fileText As String = My.Computer.FileSystem.ReadAllText(filePath)
' RichTextBox1.Text = fileText
Catch ex As System.IO.FileNotFoundException
MsgBox("File not found: " & ex.Message)
Catch ex As Exception
MsgBox("Error reading file: " & ex.Message)
End Try
Poznámka:
Při zadávání cest k souborům nepoužívejte pevně zakódované absolutní cesty, například "C:\temp\file.txt", protože to může způsobovat problémy v systémech, kde se písmeno jednotky nebo adresářová struktura liší. Místo toho použijte relativní cesty nebo vytvořte cesty, pomocí Combine které zajistíte, že váš kód funguje v různých prostředích.
Robustní programování
Následující podmínky mohou způsobit výjimku:
Cesta není platná z jednoho z následujících důvodů: jedná se o řetězec nulové délky, obsahuje pouze prázdné znaky, obsahuje neplatné znaky nebo je to cesta zařízení (ArgumentException).
Cesta není platná, protože je
Nothing(ArgumentNullException).Soubor neexistuje (FileNotFoundException).
Soubor se používá jiným procesem nebo dojde k chybě vstupně-výstupní operace (IOException).
Cesta překračuje maximální délku definovanou systémem (PathTooLongException).
Název souboru nebo adresáře v cestě obsahuje dvojtečku (:) nebo je v neplatném formátu (NotSupportedException).
Není dostatek paměti pro zápis řetězce do vyrovnávací paměti (OutOfMemoryException).
Uživatel nemá potřebná oprávnění k zobrazení cesty (SecurityException).
Nerozhodujte o obsahu souboru na základě názvu souboru. Soubor Form1.vb například nemusí být zdrojovým souborem jazyka Visual Basic.
Před použitím dat v aplikaci ověřte všechny vstupy. Obsah souboru nemusí být očekávaný a metody čtení ze souboru mohou selhat.
Viz také
- FileSystem
- ReadAllText
- Čtení ze souborů
- Jak číst z Comma-Delimited textových souborů
- Postupy: Čtení z textových souborů s pevnou šířkou
- Postupy: Čtení z textových souborů s více formáty
- Řešení potíží: Čtení z textových souborů a zápis do nich
- Návod: Manipulace se soubory a adresáři v jazyce Visual Basic
- Kódování souborů