StreamReader Sınıf

Tanım

Belirli bir TextReader kodlamada bayt akışından 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, StreamReader bir dosyasından metin okumak için örneğini kullanır. bu örnekte kullanılan oluşturucunun Windows Store uygulamalarında kullanılması desteklenmez.

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 nesnesi oluşturur StreamReader ve bir ReadAsync dosyayı zaman uyumsuz olarak okumak için yöntemini çağırır.

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 kodlamada karakter girişi için tasarlanmıştır, ancak Stream Sınıf bayt girişi ve çıkışı için tasarlanmıştır. StreamReaderStandart metin dosyasından bilgi satırlarını okumak için kullanın.

Önemli

Bu tür, IDisposable arabirimini uygular. Türü kullanmayı bitirdiğinizde, bunu doğrudan veya dolaylı olarak atabilirsiniz. Türü doğrudan atmak için, Dispose yöntemini bir try / catch blokta çağırın. Dolaylı olarak atmak için using (C# dilinde) veya (Visual Basic) gibi bir dil yapısı kullanın Using . Daha fazla bilgi için, interface konusunun "IDisposable uygulayan bir nesne kullanma" bölümüne bakın IDisposable .

StreamReader Varsayılan olarak, geçerli sistem için ANSI kod sayfasına varsayılan değer yerine, aksi belirtilmedikçe UTF-8 kodlaması varsayılan olarak belirtilir. 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ı alırsanız CurrentEncoding , Read bir yönteme ilk çağrı tamamlanana kadar kodlama otomatik algılama işlemi yapılmadığından, değer ilk yöntemden sonra güvenilir değildir Read .

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

Read(Char[], Int32, Int32)Ve Write(Char[], Int32, Int32) yöntemi, parametresini okur ve parametresi tarafından belirtilen karakter sayısını yazar count . Bunlar BufferedStream.Read BufferedStream.Write , ve parametresi tarafından belirtilen bayt sayısını okuyup yazan ' den ayırt edilir count . BufferedStreamYalnızca tamsayı bayt dizisi öğelerinin okunması ve yazılması için yöntemlerini kullanın.

Not

Bir ' dan okurken Stream , akışın iç arabelleğine göre aynı boyutta bir arabellek kullanmak daha verimlidir.

Ortak g/ç görevlerinin listesi için bkz. ortak g/ç görevleri.

Oluşturucular

StreamReader(Stream)

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

StreamReader(Stream, Boolean)

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

StreamReader(Stream, Encoding)

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

StreamReader(Stream, Encoding, Boolean)

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

StreamReader(Stream, Encoding, Boolean, Int32)

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

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

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

StreamReader(String)

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

StreamReader(String, Boolean)

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

StreamReader(String, Encoding)

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

StreamReader(String, Encoding, Boolean)

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

StreamReader(String, Encoding, Boolean, FileStreamOptions)

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

StreamReader(String, Encoding, Boolean, Int32)

Belirtilen StreamReader 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 yeni bir örneğini başlatır.

StreamReader(String, FileStreamOptions)

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

Alanlar

Null

StreamReaderBoş bir akış etrafında bir nesne.

Özellikler

BaseStream

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

CurrentEncoding

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

EndOfStream

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

Yöntemler

Close()

StreamReaderNesneyi ve temel alınan akışı kapatır ve okuyucu ile 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 kullanılan yönetilmeyen kaynakları yayınlar StreamReader 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()
Kullanımdan kalktı.

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()
Kullanımdan kalktı.

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 bunu tüketmez.

Read()

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

Read(Char[], Int32, Int32)

Belirtilen dizinden başlayarak, geçerli akıştan belirtilen en fazla karakter sayısını arabelleğe okur.

Read(Span<Char>)

Geçerli akıştaki karakterleri bir yayılmasına 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 sayıda karakteri zaman uyumsuz olarak okur ve belirtilen dizinden başlayarak verileri 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 arabelleğe yazar.

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

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

ReadAsync(Memory<Char>, CancellationToken)

Geçerli akıştan gelen 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şarak bir arabelleğe yazar.

ReadBlock(Char[], Int32, Int32)

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

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

Geçerli akıştan karakterleri okur ve verileri bir 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şarak 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 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ı 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)

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 tek 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 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.