StreamReader Sınıf

Tanım

Belirli bir TextReader kodlamadaki bayt akışındaki karakterleri okuyan bir uygular.

public ref class StreamReader : System::IO::TextReader
public class StreamReader : System.IO.TextReader
[System.Serializable]
public class StreamReader : System.IO.TextReader
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class StreamReader : System.IO.TextReader
type StreamReader = class
    inherit TextReader
[<System.Serializable>]
type StreamReader = class
    inherit TextReader
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StreamReader = class
    inherit TextReader
Public Class StreamReader
Inherits TextReader
Devralma
StreamReader
Devralma
Öznitelikler

Örnekler

Aşağıdaki örnek, bir dosyadan metin okumak için örneğini StreamReader kullanır. Bu örnekte kullanılan oluşturucu Windows Mağazası Uygulamalarında kullanılmak üzere desteklenmiyor.

using namespace System;
using namespace System::IO;
int main()
{
   try
   {
      // Create an instance of StreamReader to read from a file.
      StreamReader^ sr = gcnew StreamReader( "TestFile.txt" );
      try
      {
         String^ line;
         
         // Read and display lines from the file until the end of 
         // the file is reached.
         while ( line = sr->ReadLine() )
         {
            Console::WriteLine( line );
         }
      }
      finally
      {
         if ( sr )
            delete (IDisposable^)sr;
      }
   }
   catch ( Exception^ e ) 
   {
      // Let the user know what went wrong.
      Console::WriteLine( "The file could not be read:" );
      Console::WriteLine( e->Message );
   }
}
using System;
using System.IO;

class Test
{
    public static void Main()
    {
        try
        {
            // Create an instance of StreamReader to read from a file.
            // The using statement also closes the StreamReader.
            using (StreamReader sr = new StreamReader("TestFile.txt"))
            {
                string line;
                // Read and display lines from the file until the end of
                // the file is reached.
                while ((line = sr.ReadLine()) != null)
                {
                    Console.WriteLine(line);
                }
            }
        }
        catch (Exception e)
        {
            // Let the user know what went wrong.
            Console.WriteLine("The file could not be read:");
            Console.WriteLine(e.Message);
        }
    }
}
Imports System.IO

Class Test
    Public Shared Sub Main()
        Try
            ' Create an instance of StreamReader to read from a file.
            Dim sr As StreamReader = New StreamReader("TestFile.txt")
            Dim line As String
            ' Read and display the lines from the file until the end 
            ' of the file is reached.
            Do
                line = sr.ReadLine()
                Console.WriteLine(Line)
            Loop Until line Is Nothing
            sr.Close()
        Catch E As Exception
            ' Let the user know what went wrong.
            Console.WriteLine("The file could not be read:")
            Console.WriteLine(E.Message)
        End Try
    End Sub
End Class

Aşağıdaki örnek, bir StreamReader nesnesinin örneğini oluşturur ve bir dosyayı zaman uyumsuz olarak okumak için yöntemini çağırır ReadAsync .

using System;
using System.IO;
using System.Threading.Tasks;

class Example
{
    static async Task Main()
    {
        await ReadAndDisplayFilesAsync();
    }

    static async Task ReadAndDisplayFilesAsync()
    {
        String filename = "TestFile1.txt";
        Char[] buffer;

        using (var sr = new StreamReader(filename)) {
            buffer = new Char[(int)sr.BaseStream.Length];
            await sr.ReadAsync(buffer, 0, (int)sr.BaseStream.Length);
        }

        Console.WriteLine(new String(buffer));
    }
}
// The example displays the following output:
//       This is the first line of text in a relatively short file.
//       This is the second line.
//       This is the third line.
//       This is the fourth and final line.
Imports System.IO
Imports System.Threading.Tasks

Module Example
    Public Sub Main()
        ReadAndDisplayFilesAsync()
    End Sub

    Private Async Sub ReadAndDisplayFilesAsync()
        Dim filename As String = "TestFile1.txt"
        Dim buffer() As Char
        
        Using sr As New StreamReader(filename)
            ReDim buffer(CInt(sr.BaseStream.Length))
            Await sr.ReadAsync(buffer, 0, CInt(sr.BaseStream.Length))
        End Using

        Console.WriteLine(New String(buffer))
    End Sub
End Module
' The example displays the following output:
'       This is the first line of text in a relatively short file.
'       This is the second line.
'       This is the third line.
'       This is the fourth and final line.

Açıklamalar

StreamReader belirli bir kodlamadaki karakter girişi için, sınıfı ise Stream bayt girişi ve çıkışı için tasarlanmıştır. Standart bir metin dosyasından bilgi satırlarını okumak için kullanın StreamReader .

Önemli

Bu tür arabirimini IDisposable uygular. Türünü kullanmayı bitirdiğinizde, doğrudan veya dolaylı olarak atmalısınız. Türü doğrudan atmak için yöntemini bir try/catch blokta çağırın.Dispose Bunu dolaylı olarak atmak için (C#'ta) veya Using (Visual Basic'te) gibi using bir dil yapısı kullanın. Daha fazla bilgi için arabirim konusunun "IDisposable Uygulayan Bir Nesne Kullanma" bölümüne IDisposable bakın.

StreamReader aksi belirtilmedikçe varsayılan olarak UTF-8 kodlamasını kullanır; varsayılan olarak geçerli sistemin ANSI kod sayfasını kullanır. UTF-8, Unicode karakterleri doğru şekilde işler ve işletim sisteminin yerelleştirilmiş sürümlerinde tutarlı sonuçlar sağlar. özelliğini kullanarak geçerli karakter kodlamasını CurrentEncoding alırsanız, ilk yöntemden sonraya Read kadar değer güvenilir değildir, çünkü kodlama otomatik algılama yöntemine Read ilk çağrıya kadar yapılmaz.

Varsayılan olarak, bir StreamReader iş parçacığı güvenli değildir. İş parçacığı güvenli sarmalayıcı için bkz TextReader.Synchronized .

Read(Char[], Int32, Int32) ve Write(Char[], Int32, Int32) yöntemi, parametresi tarafından count belirtilen karakter sayısını okur ve yazar. Bunlar, parametresi tarafından count belirtilen bayt sayısını okuyan ve yazan ve BufferedStream.Writeile ayırt BufferedStream.Read edilir. BufferedStream Yöntemleri yalnızca bayt dizisi öğelerinin tam sayılarını okumak ve yazmak için kullanın.

Not

' Streamden okurken, akışın iç arabelleğiyle aynı boyutta bir arabellek kullanmak daha verimlidir.

Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.

Oluşturucular

StreamReader(Stream)

Belirtilen akış için sınıfının yeni bir örneğini StreamReader başlatır.

StreamReader(Stream, Boolean)

Belirtilen bayt sırası işareti algılama seçeneğiyle belirtilen akış için sınıfının yeni bir örneğini StreamReader başlatır.

StreamReader(Stream, Encoding)

Belirtilen akış için belirtilen karakter kodlamasıyla sınıfının yeni bir örneğini StreamReader başlatır.

StreamReader(Stream, Encoding, Boolean)

Belirtilen karakter kodlaması StreamReader ve bayt sırası işareti algılama seçeneğiyle belirtilen akış için sınıfının yeni bir örneğini başlatır.

StreamReader(Stream, Encoding, Boolean, Int32)

Belirtilen karakter kodlaması, bayt sırası işareti algılama seçeneği ve arabellek boyutu ile belirtilen akış için sınıfının yeni bir örneğini StreamReader başlatır.

StreamReader(Stream, Encoding, Boolean, Int32, Boolean)

Belirtilen karakter kodlaması StreamReader , bayt sırası işareti algılama seçeneği ve arabellek boyutu temelinde belirtilen akış için sınıfının yeni bir örneğini başlatır ve isteğe bağlı olarak akışı açık bırakır.

StreamReader(String)

Belirtilen dosya adı için sınıfının yeni bir örneğini StreamReader başlatır.

StreamReader(String, Boolean)

Belirtilen bayt sırası işareti algılama seçeneğiyle belirtilen dosya adı için sınıfının yeni bir örneğini StreamReader başlatır.

StreamReader(String, Encoding)

Belirtilen karakter kodlamasıyla StreamReader belirtilen dosya adı için sınıfının yeni bir örneğini başlatır.

StreamReader(String, Encoding, Boolean)

Belirtilen dosya adı için, belirtilen karakter kodlaması ve bayt sırası işareti algılama seçeneğiyle sınıfının yeni bir örneğini StreamReader başlatır.

StreamReader(String, Encoding, Boolean, FileStreamOptions)

Belirtilen karakter kodlaması, bayt sırası işareti algılama seçeneğiyle belirtilen dosya yolu için sınıfının yeni bir örneğini StreamReader başlatır ve belirtilen FileStreamOptions nesneyle yapılandırılır.

StreamReader(String, Encoding, Boolean, Int32)

Belirtilen karakter kodlaması, bayt sırası işareti algılama seçeneği ve arabellek boyutu ile belirtilen dosya adı için sınıfının yeni bir örneğini StreamReader başlatır.

StreamReader(String, FileStreamOptions)

Varsayılan kodlamayı StreamReader kullanarak belirtilen dosya yolu için sınıfının yeni bir örneğini başlatır, dosyanın başında bayt sırası işaretlerinin algılanması etkinleştirilir ve belirtilen FileStreamOptions nesneyle yapılandırılır.

Alanlar

Null

StreamReader Boş bir akışın etrafındaki nesne.

Özellikler

BaseStream

Temel alınan akışı döndürür.

CurrentEncoding

Geçerli nesnenin kullandığı geçerli StreamReader karakter kodlamasını alır.

EndOfStream

Geçerli akış konumunun akışın sonunda olup olmadığını gösteren bir değer alır.

Yöntemler

Close()

StreamReader Nesneyi ve temel alınan akışı kapatır ve okuyucuyla ilişkili tüm sistem kaynaklarını serbest bırakır.

Close()

öğesini TextReader kapatır ve ile TextReaderilişkili tüm sistem kaynaklarını serbest bırakır.

(Devralındığı yer: TextReader)
CreateObjRef(Type)

Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur.

(Devralındığı yer: MarshalByRefObject)
DiscardBufferedData()

İç arabelleği temizler.

Dispose()

nesnesi tarafından TextReader kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: TextReader)
Dispose(Boolean)

Temel alınan akışı kapatır, tarafından StreamReaderkullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetLifetimeService()
Geçersiz.

Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır.

(Devralındığı yer: MarshalByRefObject)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
InitializeLifetimeService()
Geçersiz.

Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır.

(Devralındığı yer: MarshalByRefObject)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
MemberwiseClone(Boolean)

Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur.

(Devralındığı yer: MarshalByRefObject)
Peek()

Bir sonraki kullanılabilir karakteri döndürür ancak kullanmaz.

Read()

Giriş akışından sonraki karakteri okur ve karakter konumunu bir karakter ilerletir.

Read(Char[], Int32, Int32)

Belirtilen dizinden başlayarak geçerli akıştan bir arabelleğe belirtilen karakter sayısı üst sınırını okur.

Read(Span<Char>)

Geçerli akıştan bir yayılma alanına karakterleri okur.

Read(Span<Char>)

Geçerli okuyucudaki karakterleri okur ve verileri belirtilen arabelleğe yazar.

(Devralındığı yer: TextReader)
ReadAsync(Char[], Int32, Int32)

Geçerli akıştan belirtilen en fazla karakter sayısını zaman uyumsuz olarak okur ve verileri belirtilen dizinden başlayarak bir arabelleğe yazar.

ReadAsync(Char[], Int32, Int32)

Geçerli metin okuyucudan belirtilen en fazla karakter sayısını zaman uyumsuz olarak okur ve verileri belirtilen dizinden başlayarak bir arabelleğe yazar.

(Devralındığı yer: TextReader)
ReadAsync(Memory<Char>, CancellationToken)

Geçerli akıştan karakterleri zaman uyumsuz olarak bir bellek bloğuna okur.

ReadAsync(Memory<Char>, CancellationToken)

Geçerli akıştan karakterleri zaman uyumsuz olarak bir bellek bloğuna okur.

(Devralındığı yer: TextReader)
ReadBlock(Char[], Int32, Int32)

Geçerli akıştan belirtilen en fazla karakter sayısını okur ve verileri belirtilen dizinden başlayarak bir arabelleğe yazar.

ReadBlock(Char[], Int32, Int32)

Geçerli metin okuyucudan belirtilen en fazla karakter sayısını okur ve verileri belirtilen dizinden başlayarak arabelleğe yazar.

(Devralındığı yer: TextReader)
ReadBlock(Span<Char>)

Geçerli akıştan karakterleri okur ve verileri arabelleğe yazar.

ReadBlock(Span<Char>)

Geçerli akıştan karakterleri okur ve verileri arabelleğe yazar.

(Devralındığı yer: TextReader)
ReadBlockAsync(Char[], Int32, Int32)

Geçerli akıştan belirtilen en fazla karakter sayısını zaman uyumsuz olarak okur ve verileri belirtilen dizinden başlayarak bir arabelleğe yazar.

ReadBlockAsync(Char[], Int32, Int32)

Geçerli metin okuyucudan belirtilen en fazla karakter sayısını zaman uyumsuz olarak okur ve verileri belirtilen dizinden başlayarak bir arabelleğe yazar.

(Devralındığı yer: TextReader)
ReadBlockAsync(Memory<Char>, CancellationToken)

Geçerli akıştan karakterleri zaman uyumsuz olarak okur ve verileri arabelleğe yazar.

ReadBlockAsync(Memory<Char>, CancellationToken)

Geçerli akıştan karakterleri zaman uyumsuz olarak okur ve verileri arabelleğe yazar.

(Devralındığı yer: TextReader)
ReadLine()

Geçerli akıştan bir karakter satırını okur ve verileri dize olarak döndürür.

ReadLineAsync()

Geçerli akıştan zaman uyumsuz olarak bir karakter satırı okur ve verileri dize olarak döndürür.

ReadLineAsync()

Bir karakter satırını zaman uyumsuz olarak okur ve verileri dize olarak döndürür.

(Devralındığı yer: TextReader)
ReadLineAsync(CancellationToken)

Geçerli akıştan zaman uyumsuz olarak bir karakter satırı okur ve verileri dize olarak döndürür.

ReadLineAsync(CancellationToken)

Bir karakter satırını zaman uyumsuz olarak okur ve verileri dize olarak döndürür.

(Devralındığı yer: TextReader)
ReadToEnd()

Geçerli konumdan akışın sonuna kadar olan tüm karakterleri okur.

ReadToEndAsync()

Geçerli konumdan akışın sonuna kadar olan tüm karakterleri zaman uyumsuz olarak okur ve bunları bir dize olarak döndürür.

ReadToEndAsync()

Geçerli konumdan metin okuyucunun sonuna kadar olan tüm karakterleri zaman uyumsuz olarak okur ve bunları tek bir dize olarak döndürür.

(Devralındığı yer: TextReader)
ReadToEndAsync(CancellationToken)

Geçerli konumdan akışın sonuna kadar olan tüm karakterleri zaman uyumsuz olarak okur ve bunları bir dize olarak döndürür.

ReadToEndAsync(CancellationToken)

Geçerli konumdan metin okuyucunun sonuna kadar olan tüm karakterleri zaman uyumsuz olarak okur ve bunları tek bir dize olarak döndürür.

(Devralındığı yer: TextReader)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

IDisposable.Dispose()

Bu üyenin açıklaması için bkz Dispose(). .

(Devralındığı yer: TextReader)

Şunlara uygulanır

Ayrıca bkz.