Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Liest eine Zeile von Zeichen aus dem aktuellen Stream und gibt die Daten als Zeichenfolge zurück.
Namespace: System.IO
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Overrides Function ReadLine As String
'Usage
Dim instance As StreamReader
Dim returnValue As String
returnValue = instance.ReadLine
public override string ReadLine ()
public:
virtual String^ ReadLine () override
public String ReadLine ()
public override function ReadLine () : String
Rückgabewert
Die nächste Zeile des Eingabestreams, bzw. NULL (Nothing in Visual Basic), wenn das Ende des Eingabestreams erreicht ist.
Ausnahmen
| Ausnahmetyp | Bedingung |
|---|---|
Es ist nicht genügend Speicherplatz vorhanden, um einen Puffer für die zurückgegebene Zeichenfolge zu reservieren. |
|
Ein E/A-Fehler ist aufgetreten. |
Hinweise
Eine Zeile ist eine Folge von Zeichen, die mit einem Zeilenvorschub ("\n") oder einem Wagenrücklauf endet, auf den ein Zeilenvorschub ("\r\n") folgt. Die zurückgegebene Zeichenfolge enthält keinen abschließenden Wagenrücklauf oder Zeilenvorschub. Der zurückgegebene Wert ist NULL (Nothing in Visual Basic), wenn das Ende des Eingabestreams erreicht ist.
Diese Methode überschreibt die ReadLine-Methode.
Wenn die aktuelle Methode eine OutOfMemoryException auslöst, wird die Position des Readers im zugrunde liegenden Stream-Objekt um die Anzahl von Zeichen weitergerückt, die die Methode lesen konnte, aber die bereits in den internen ReadLine-Puffer gelesenen Zeichen werden verworfen. Da die Position des Readers im Stream nicht geändert werden kann, können die bereits gelesenen Zeichen nicht wiederhergestellt werden. Auf diese kann nur nach erneuter Initialisierung des StreamReader-Objekts zugegriffen werden. Wenn die Ausgangsposition im Stream unbekannt ist oder der Stream keine Suche unterstützt, muss das zugrunde liegende Stream-Objekt ebenfalls neu initialisiert werden.
Um diese Situation zu vermeiden und stabilen Code zu erstellen, sollten Sie die Read-Methode verwenden und die gelesenen Zeichen in einem vorher reservierten Puffer speichern.
Ein Beispiel für die Verwendung dieser Klasse finden Sie im Beispielabschnitt. In der folgenden Tabelle sind Beispiele für andere typische oder verwandte E/A-Aufgaben aufgeführt.
Aufgabe |
Beispiel in diesem Thema |
|---|---|
Eine Textdatei erstellen. |
|
Schreiben in eine Textdatei. |
|
Lesen aus einer Textdatei. |
|
Anfügen von Text an eine Datei. |
|
Abrufen der Größe einer Datei. |
|
Abrufen der Attribute einer Datei. |
|
Festlegen der Attribute einer Datei. |
|
Bestimmen, ob eine Datei vorhanden ist. |
|
Lesen aus einer Binärdatei. |
Gewusst wie: Lesen und Schreiben einer neu erstellten Datendatei |
Schreiben in eine Binärdatei. |
Gewusst wie: Lesen und Schreiben einer neu erstellten Datendatei |
Beispiel
Im folgenden Codebeispiel werden Zeilen aus einer Datei gelesen, bis das Ende der Datei erreicht ist.
Imports System
Imports System.IO
Imports System.Text
Public Class Test
Public Shared Sub Main()
Dim path As String = "c:\temp\MyTest.txt"
Try
If File.Exists(path) Then
File.Delete(path)
End If
Dim sw As StreamWriter = New StreamWriter(path)
sw.WriteLine("This")
sw.WriteLine("is some text")
sw.WriteLine("to test")
sw.WriteLine("Reading")
sw.Close()
Dim sr As StreamReader = New StreamReader(path)
Do While sr.Peek() >= 0
Console.WriteLine(sr.ReadLine())
Loop
sr.Close()
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.ToString())
End Try
End Sub
End Class
using System;
using System.IO;
class Test
{
public static void Main()
{
string path = @"c:\temp\MyTest.txt";
try
{
if (File.Exists(path))
{
File.Delete(path);
}
using (StreamWriter sw = new StreamWriter(path))
{
sw.WriteLine("This");
sw.WriteLine("is some text");
sw.WriteLine("to test");
sw.WriteLine("Reading");
}
using (StreamReader sr = new StreamReader(path))
{
while (sr.Peek() >= 0)
{
Console.WriteLine(sr.ReadLine());
}
}
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
}
}
using namespace System;
using namespace System::IO;
int main()
{
String^ path = "c:\\temp\\MyTest.txt";
try
{
if ( File::Exists( path ) )
{
File::Delete( path );
}
StreamWriter^ sw = gcnew StreamWriter( path );
try
{
sw->WriteLine( "This" );
sw->WriteLine( "is some text" );
sw->WriteLine( "to test" );
sw->WriteLine( "Reading" );
}
finally
{
delete sw;
}
StreamReader^ sr = gcnew StreamReader( path );
try
{
while ( sr->Peek() >= 0 )
{
Console::WriteLine( sr->ReadLine() );
}
}
finally
{
delete sr;
}
}
catch ( Exception^ e )
{
Console::WriteLine( "The process failed: {0}", e );
}
}
import System.*;
import System.IO.*;
class Test
{
public static void main(String[] args)
{
String path = "c:\\temp\\MyTest.txt";
try {
if (File.Exists(path)) {
File.Delete(path);
}
StreamWriter sw = new StreamWriter(path);
try {
sw.WriteLine("This");
sw.WriteLine("is some text");
sw.WriteLine("to test");
sw.WriteLine("Reading");
}
finally {
sw.Dispose();
}
StreamReader sr = new StreamReader(path);
try {
while (sr.Peek() >= 0) {
Console.WriteLine(sr.ReadLine());
}
}
finally {
sr.Dispose();
}
}
catch (System.Exception e) {
Console.WriteLine("The process failed: {0}", e.ToString());
}
} //main
} //Test
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
StreamReader-Klasse
StreamReader-Member
System.IO-Namespace
Weitere Ressourcen
Datei- und Stream-E/A
Gewusst wie: Lesen aus einer Textdatei
Gewusst wie: Schreiben von Text in eine Datei