Dela via


Läsa text från en fil

I följande exempel visas hur du läser text synkront och asynkront från en textfil med hjälp av .NET för skrivbordsappar. I båda exemplen anger du den relativa eller absoluta sökvägen till filen när du skapar instansen StreamReader av klassen.

Kommentar

Dessa kodexempel gäller inte för UWP-appar (Universal Windows) eftersom Windows-körningen innehåller olika strömtyper för läsning och skrivning till filer. Mer information finns i UWP-arbete med filer. Exempel som visar hur du konverterar mellan .NET Framework-strömmar och Windows Runtime-strömmar finns i Så här konverterar du mellan .NET Framework-strömmar och Windows Runtime-strömmar.

Förutsättningar

  • Skapa en textfil med namnet TestFile.txt i samma mapp som appen.

    Lägg till innehåll i textfilen. Exemplen i den här artikeln skriver innehållet i textfilen till konsolen.

Läs en fil

I följande exempel visas en synkron läsåtgärd i en konsolapp. Filinnehållet läse och lagras i en strängvariabel som sedan skrivs till konsolen.

  1. Skapa en StreamReader instans.
  2. StreamReader.ReadToEnd() Anropa metoden och tilldela resultatet till en sträng.
  3. Skriv utdata till konsolen.
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

Läsa en fil asynkront

I följande exempel visas en asynkron läsåtgärd i en konsolapp. Filinnehållet läse och lagras i en strängvariabel som sedan skrivs till konsolen.

  1. Skapa en StreamReader instans.
  2. Vänta på StreamReader.ReadToEndAsync() metoden och tilldela resultatet till en sträng.
  3. Skriv utdata till konsolen.
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