StreamReader.ReadLine Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geçerli akıştan bir karakter satırını okur ve verileri dize olarak döndürür.
public:
override System::String ^ ReadLine();
public override string ReadLine ();
public override string? ReadLine ();
override this.ReadLine : unit -> string
Public Overrides Function ReadLine () As String
Döndürülenler
Giriş akışından sonraki satır veya null
giriş akışının sonuna ulaşıldıysa.
Özel durumlar
Döndürülen dize için arabellek ayırmaya yetecek bellek yok.
Bir G/Ç hatası oluşur.
Örnekler
Aşağıdaki kod örneği, dosyanın sonuna ulaşılana kadar bir dosyadaki satırları okur.
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 );
}
}
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());
}
}
}
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
Açıklamalar
Satır, ardından satır beslemesi ("\n"), satır başı ("\r") veya hemen ardından satır beslemesi ("\r\n") gelen bir karakter dizisi olarak tanımlanır. Döndürülen dize, sonlandırıcı satır dönüşünü veya satır beslemesini içermez. Döndürülen değer, null
giriş akışının sonuna ulaşılırsa değeridir.
Bu yöntem geçersiz kılar TextReader.ReadLine.
Geçerli yöntem bir OutOfMemoryExceptionoluşturursa, okuyucunun temel nesnedeki Stream konumu yöntemin okuyabildiği karakter sayısıyla gelişmiştir, ancak iç ReadLine arabelleğe zaten okunan karakterler atılır. Verileri arabelleğe okuduktan sonra temel alınan akışın konumunu değiştirirseniz, temel alınan akışın konumu iç arabelleğin konumuyla eşleşmeyebilir. İç arabelleği sıfırlamak için yöntemini çağırın DiscardBufferedData ; ancak bu yöntem performansı yavaşlatıyor ve yalnızca kesinlikle gerekli olduğunda çağrılmalıdır.
Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.