Odczytywanie tekstu z pliku

W poniższych przykładach pokazano, jak odczytać tekst synchronicznie i asynchronicznie z pliku tekstowego przy użyciu platformy .NET dla aplikacji komputerowych. W obu przykładach podczas tworzenia wystąpienia StreamReader klasy należy podać względną lub bezwzględną ścieżkę do pliku.

Uwaga

Te przykłady kodu nie mają zastosowania do aplikacji uniwersalnych systemu Windows (UWP), ponieważ środowisko uruchomieniowe systemu Windows udostępnia różne typy strumieni do odczytu i zapisu w plikach. Aby uzyskać więcej informacji, zobacz Praca platformy UWP z plikami. Przykłady pokazujące sposób konwertowania strumieni programu .NET Framework i strumieni środowisko wykonawcze systemu Windows można znaleźć w temacie How to: Convert between .NET Framework streams and środowisko wykonawcze systemu Windows streams (Jak konwertować strumienie programu .NET Framework i strumienie środowisko wykonawcze systemu Windows).

Wymagania wstępne

  • Utwórz plik tekstowy o nazwie TestFile.txt w tym samym folderze co aplikacja.

    Dodaj zawartość do pliku tekstowego. Przykłady w tym artykule zapisują zawartość pliku tekstowego w konsoli programu .

Odczytywanie pliku

W poniższym przykładzie pokazano synchroniczną operację odczytu w aplikacji konsolowej. Zawartość pliku jest odczytywana i przechowywana w zmiennej ciągu, która jest następnie zapisywana w konsoli programu .

  1. Utwórz StreamReader wystąpienie.
  2. Wywołaj metodę StreamReader.ReadToEnd() i przypisz wynik do ciągu.
  3. Zapisz dane wyjściowe w konsoli programu .
try
{
    // Open the text file using a stream reader.
    using StreamReader reader = new("TestFile.txt");

    // Read the stream as a string.
    string text = reader.ReadToEnd();

    // Write the text to the console.
    Console.WriteLine(text);
}
catch (IOException e)
{
    Console.WriteLine("The file could not be read:");
    Console.WriteLine(e.Message);
}
Try
    ' Open the text file using a stream reader.
    Using reader As New StreamReader("TestFile.txt")

        ' Read the stream as a string.
        Dim text As String = reader.ReadToEnd()

        ' Write the text to the console.
        Console.WriteLine(text)

    End Using
Catch ex As IOException
    Console.WriteLine("The file could not be read:")
    Console.WriteLine(ex.Message)
End Try

Odczytywanie pliku asynchronicznie

W poniższym przykładzie przedstawiono asynchroniczną operację odczytu w aplikacji konsolowej. Zawartość pliku jest odczytywana i przechowywana w zmiennej ciągu, która jest następnie zapisywana w konsoli programu .

  1. Utwórz StreamReader wystąpienie.
  2. Poczekaj na metodę StreamReader.ReadToEndAsync() i przypisz wynik do ciągu.
  3. Zapisz dane wyjściowe w konsoli programu .
try
{
    // Open the text file using a stream reader.
    using StreamReader reader = new("TestFile.txt");

    // Read the stream as a string.
    string text = await reader.ReadToEndAsync();

    // Write the text to the console.
    Console.WriteLine(text);
}
catch (IOException e)
{
    Console.WriteLine("The file could not be read:");
    Console.WriteLine(e.Message);
}
Try
    ' Open the text file using a stream reader.
    Using reader As New StreamReader("TestFile.txt")

        ' Read the stream as a string.
        Dim text As String = Await reader.ReadToEndAsync()

        ' Write the text to the console.
        Console.WriteLine(text)

    End Using
Catch ex As IOException
    Console.WriteLine("The file could not be read:")
    Console.WriteLine(ex.Message)
End Try