Sdílet prostřednictvím


Postupy: Čtení z textových souborů v jazyce Visual Basic

Metoda ReadAllText objektu My.Computer.FileSystem umožňuje číst z textového souboru. Kódování souboru lze určit, pokud obsah tohoto souboru používá nějaké kódování, například ASCII nebo UTF-8.

Při čtení ze souboru obsahujícího znaky s diakritikou budete muset určit 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 načte obsah souboru test.txt do řetězce a pak jej zobrazí v okně se zprávou.

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

Čtení z textového souboru s kódováním

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 načte obsah souboru test.txt s kódováním UTF32 do řetězce a pak jej zobrazí v okně se zprávou.

Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt",
   System.Text.Encoding.UTF32)
MsgBox(fileReader)

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).

  • Pro zápis řetězce do vyrovnávací pamětiOutOfMemoryException () není dostatek paměti.

  • Uživatel nemá potřebná oprávnění k zobrazení cesty (SecurityException).

Nečiňte rozhodnutí o obsahu souboru na základě jeho názvu. Soubor Form1.vb například nemusí být zdrojovým souborem jazyka Visual Basic.

Před použitím dat ve své aplikaci ověřte všechny vstupy. Soubor nemusí mít obsah, jaký očekáváte, a metody pro čtení z tohoto souboru mohou selhat.

Viz také