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
- StreamReader
- File.OpenText
- StreamReader.ReadLine
- Asynkron fil-I/O
- Gör så här: Skapa en kataloglista
- Snabbstart: Läsa och skriva filer
- Anvisningar: Konvertera mellan .NET Framework-strömmar och Windows Runtime-strömmar
- Anvisningar: Läsa och skriva till en nyligen skapad datafil
- Gör så här: Öppna och lägg till i en loggfil
- Anvisningar: Skriva text till en fil
- Anvisningar: Läsa tecken från en sträng
- Anvisningar: Skriva tecken till en sträng
- Fil- och ström-I/O
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för