Postupy: Čtení textu ze souboru

Následující příklady znázorňují způsob synchronního a asynchronního čtení textu z textového souboru pomocí rozhraní .NET pro aplikace klasické pracovní plochy. V obou příkladech při vytváření instance StreamReader třídy zadáte relativní nebo absolutní cestu k souboru.

Poznámka:

Tyto příklady kódu se nevztahují na univerzální aplikace pro Windows (UPW), protože modul runtime Windows poskytuje různé typy datových proudů pro čtení a zápis do souborů. Příklad, který ukazuje, jak číst text ze souboru v aplikaci pro UPW, najdete v rychlém startu: Čtení a zápis souborů. Příklady, které ukazují, jak převést mezi datovými proudy rozhraní .NET Framework a datovými proudy prostředí Windows Runtime, najdete v tématu Postupy: Převod mezi datovými proudy rozhraní .NET Framework a datovými proudy prostředí Windows Runtime.

Příklad: Synchronní čtení v aplikaci konzoly

Následující příklad ukazuje synchronní operaci čtení v rámci konzolové aplikace. Tento příklad otevře textový soubor pomocí čtečky streamu, zkopíruje obsah do řetězce a vypíše řetězec do konzoly.

Důležité

Příklad předpokládá, že soubor s názvem TestFile.txt již existuje ve stejné složce jako aplikace.

using System;
using System.IO;

class Program
{
    public static void Main()
    {
        try
        {
            // Open the text file using a stream reader.
            using (var sr = new StreamReader("TestFile.txt"))
            {
                // Read the stream as a string, and write the string to the console.
                Console.WriteLine(sr.ReadToEnd());
            }
        }
        catch (IOException e)
        {
            Console.WriteLine("The file could not be read:");
            Console.WriteLine(e.Message);
        }
    }
}
Imports System.IO

Module Program
    Public Sub Main()
        Try
            ' Open the file using a stream reader.
            Using sr As New StreamReader("TestFile.txt")
                ' Read the stream as a string and write the string to the console.
                Console.WriteLine(sr.ReadToEnd())
            End Using
        Catch e As IOException
            Console.WriteLine("The file could not be read:")
            Console.WriteLine(e.Message)
        End Try
    End Sub
End Module

Příklad: Asynchronní čtení v aplikaci WPF

Následující příklad ukazuje asynchronní operaci čtení v aplikaci WPF (Windows Presentation Foundation).

Důležité

Příklad předpokládá, že soubor s názvem TestFile.txt již existuje ve stejné složce jako aplikace.

using System.IO;
using System.Windows;

namespace TextFiles;

/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
    public MainWindow() => InitializeComponent();

    private async void MainWindow_Loaded(object sender, RoutedEventArgs e)
    {
        try
        {
            using (var sr = new StreamReader("TestFile.txt"))
            {
                ResultBlock.Text = await sr.ReadToEndAsync();
            }
        }
        catch (FileNotFoundException ex)
        {
            ResultBlock.Text = ex.Message;
        }
    }
}
Imports System.IO
Imports System.Windows

''' <summary>
''' Interaction logic for MainWindow.xaml
''' </summary>

Partial Public Class MainWindow
    Inherits Window
    Public Sub New()
        InitializeComponent()
    End Sub

    Private Async Sub MainWindow_Loaded(sender As Object, e As RoutedEventArgs)
        Try
            Using sr As New StreamReader("TestFile.txt")
                ResultBlock.Text = Await sr.ReadToEndAsync()
            End Using
        Catch ex As FileNotFoundException
            ResultBlock.Text = ex.Message
        End Try
    End Sub
End Class

Viz také