Aracılığıyla paylaş


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

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 nesneyi 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 IDisposable arabirimini uygular. Kullanımını bitirdiğinizde, doğrudan ya da dolaylı yoldan atmalısınız. Türü doğrudan atabilmek için, bir Disposetry/ bloğunda catch yöntemini çağırın. Bunu dolaylı olarak atmak için using (C#'de) veya Using (Visual Basic'te) gibi 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; bunun yerine geçerli sistemin ANSI kod sayfasını kullanır. UTF-8, Unicode karakterlerini doğru 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, otomatik algılamayı kodlama yöntemine ilk Read çağrıya kadar yapılmadığından, ilk yöntemden sonraya Read kadar değer güvenilir değildir.

Varsayılan olarak, iş StreamReader 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 belirtilen karakter sayısını okumak ve yazmak için count aşırı yükler. Bunlar, parametresi tarafından count belirtilen bayt sayısını okuyan ve yazan ve BufferedStream.Write'den BufferedStream.Read ayırt edilir. BufferedStream Yöntemleri yalnızca bayt dizisi öğelerinin tam sayılarını okumak ve yazmak için kullanın.

Uyarı

bir Stream'den 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

Name Description
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, Boolean, Int32, Boolean)

Belirtilen karakter kodlaması StreamReader , bayt sırası 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(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)

Belirtilen karakter kodlaması ve 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 karakter kodlamasıyla belirtilen akış için sınıfının yeni bir örneğini StreamReader başlatır.

StreamReader(Stream)

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

StreamReader(String, Boolean)

Belirtilen dosya adı için sınıfın StreamReader yeni bir örneğini, belirtilen bayt sırası işareti algılama seçeneğiyle 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, Encoding, Boolean)

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

StreamReader(String, Encoding)

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

StreamReader(String, FileStreamOptions)

Varsayılan kodlamayı kullanarak belirtilen dosya yolu için sınıfının yeni bir örneğini StreamReader 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.

StreamReader(String)

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

Alanlar

Name Description
Null

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

Özellikler

Name Description
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

Name Description
Close()

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

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()

Geçerli örneğin Type 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 Objectbasit 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 en fazla karakter sayısını okur.

Read(Span<Char>)

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

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(Memory<Char>, CancellationToken)

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

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 bir arabelleğe yazar.

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

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

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(Memory<Char>, CancellationToken)

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

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(CancellationToken)

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

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ı tek bir dize olarak döndürür.

ReadToEndAsync(CancellationToken)

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

ToString()

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

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

Name Description
IDisposable.Dispose()

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

(Devralındığı yer: TextReader)

Şunlara uygulanır

Ayrıca bkz.