Anvisningar: 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. Ett exempel som visar hur du läser text från en fil i en UWP-app finns i Snabbstart: Läsa och skriva 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.

Exempel: Synkron läsning i en konsolapp

I följande exempel visas en synkron läsåtgärd i en konsolapp. Det här exemplet öppnar textfilen med en strömläsare, kopierar innehållet till en sträng och matar ut strängen till konsolen.

Viktigt!

Exemplet förutsätter att en fil med namnet TestFile.txt redan finns i samma mapp som appen.

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

Exempel: Asynkron läsning i en WPF-app

I följande exempel visas en asynkron läsåtgärd i en WPF-app (Windows Presentation Foundation).

Viktigt!

Exemplet förutsätter att en fil med namnet TestFile.txt redan finns i samma mapp som appen.

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

Se även