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.
- Skapa en StreamReader instans.
- StreamReader.ReadToEnd() Anropa metoden och tilldela resultatet till en sträng.
- 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.
- Skapa en StreamReader instans.
- Vänta på StreamReader.ReadToEndAsync() metoden och tilldela resultatet till en sträng.
- 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