Lesen von Text aus einer Datei
In den folgenden Beispielen wird das synchrone und asynchrone Lesen aus einer Textdatei mithilfe von .NET für Desktop-Apps veranschaulicht. In beiden Beispielen geben Sie beim Erstellen der Instanz der StreamReader-Klasse einen absoluten oder relativen Pfad zur Datei an.
Hinweis
Diese Codebeispiele gelten nicht für Apps für die Universelle Windows-Plattform (UWP), da die Windows-Runtime verschiedene Streamtypen für Lese- und Schreibvorgänge für Dateien zur Verfügung stellt. Weitere Informationen finden Sie unter UWP für die Arbeit mit Dateien. Beispiele für die Konvertierung von .NET Framework-Streams in Windows-Runtime-Streams und umgekehrt finden Sie unter Vorgehensweise: Konvertieren zwischen .NET Framework-Streams und Windows-Runtime-Streams.
Voraussetzungen
Erstellen Sie eine Textdatei namens TestFile.txt im selben Ordner wie die App.
Fügen Sie der Textdatei Inhalte hinzu. Die Beispiele in diesem Artikel schreiben den Inhalt der Textdatei in die Konsole.
Lesen einer Datei
Im folgenden Beispiel wird ein synchroner Lesevorgang in einer Konsolen-App veranschaulicht. Der Dateiinhalt wird in einer Zeichenfolgenvariablen gelesen und gespeichert, die dann in die Konsole geschrieben wird.
- Erstellen Sie eine StreamReader-Instanz.
- Rufen Sie die StreamReader.ReadToEnd()-Methode auf, und weisen Sie das Ergebnis einer Zeichenfolge zu.
- Schreiben Sie die Ausgabe in die Konsole.
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
Asynchrones Lesen einer Datei
Im folgenden Beispiel wird ein synchroner Lesevorgang in einer Konsolen-App veranschaulicht. Der Dateiinhalt wird in einer Zeichenfolgenvariablen gelesen und gespeichert, die dann in die Konsole geschrieben wird.
- Erstellen Sie eine StreamReader-Instanz.
- Warten Sie auf die StreamReader.ReadToEndAsync()-Methode, und weisen Sie das Ergebnis einer Zeichenfolge zu.
- Schreiben Sie die Ausgabe in die Konsole.
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