İngilizce dilinde oku

Aracılığıyla paylaş


BinaryReader Sınıf

Tanım

Temel veri türlerini belirli bir kodlamada ikili değerler olarak okur.

C#
public class BinaryReader : IDisposable
C#
[System.Runtime.InteropServices.ComVisible(true)]
public class BinaryReader : IDisposable
Devralma
BinaryReader
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki kod örneği, bir dosyada uygulama ayarlarının nasıl depolanıp alınduğunu gösterir.

C#
using System;
using System.IO;
using System.Text;

class ConsoleApplication
{
    const string fileName = "AppSettings.dat";

    static void Main()
    {
        WriteDefaultValues();
        DisplayValues();
    }

    public static void WriteDefaultValues()
    {
        using (var stream = File.Open(fileName, FileMode.Create))
        {
            using (var writer = new BinaryWriter(stream, Encoding.UTF8, false))
            {
                writer.Write(1.250F);
                writer.Write(@"c:\Temp");
                writer.Write(10);
                writer.Write(true);
            }
        }
    }

    public static void DisplayValues()
    {
        float aspectRatio;
        string tempDirectory;
        int autoSaveTime;
        bool showStatusBar;

        if (File.Exists(fileName))
        {
            using (var stream = File.Open(fileName, FileMode.Open))
            {
                using (var reader = new BinaryReader(stream, Encoding.UTF8, false))
                {
                    aspectRatio = reader.ReadSingle();
                    tempDirectory = reader.ReadString();
                    autoSaveTime = reader.ReadInt32();
                    showStatusBar = reader.ReadBoolean();
                }
            }

            Console.WriteLine("Aspect ratio set to: " + aspectRatio);
            Console.WriteLine("Temp directory is: " + tempDirectory);
            Console.WriteLine("Auto save time set to: " + autoSaveTime);
            Console.WriteLine("Show status bar: " + showStatusBar);
        }
    }
}

Açıklamalar

sınıfı, BinaryReader bir akıştan temel veri türlerini okumayı basitleştiren yöntemler sağlar. Örneğin, bir sonraki bayt değerini Boole değeri olarak okumak ve akıştaki geçerli konumu bir bayt ilerletmek için yöntemini kullanabilirsiniz ReadBoolean . sınıfı, farklı veri türlerini destekleyen okuma yöntemleri içerir.

Sınıfının yeni bir örneğini BinaryReader oluşturduğunuzda, okunacak akışı sağlarsınız ve isteğe bağlı olarak kodlama türünü ve nesneyi devre dışı BinaryReader bıraktıktan sonra akışın açık bırakılıp bırakılmayacağını belirtirsiniz. Kodlama türü belirtmezseniz UTF-8 kullanılır.

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

Oluşturucular

BinaryReader(Stream)

Belirtilen akışı temel alarak ve UTF-8 kodlamasını kullanarak sınıfının yeni bir örneğini BinaryReader başlatır.

BinaryReader(Stream, Encoding)

Belirtilen akış ve karakter kodlaması BinaryReader temelinde sınıfının yeni bir örneğini başlatır.

BinaryReader(Stream, Encoding, Boolean)

Belirtilen akış ve karakter kodlaması BinaryReader temelinde sınıfının yeni bir örneğini başlatır ve isteğe bağlı olarak akışı açık bırakır.

Özellikler

BaseStream

temel alınan akışına BinaryReadererişimi kullanıma sunar.

Yöntemler

Close()

Geçerli okuyucuyu ve temel alınan akışı kapatır.

Dispose()

BinaryReader sınıfının geçerli örneği tarafından kullanılan tüm kaynakları serbest bırakır.

Dispose(Boolean)

sınıfı tarafından BinaryReader kullanı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)
FillBuffer(Int32)

İç arabelleği, akıştan okunan belirtilen bayt sayısıyla doldurur.

GetHashCode()

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

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

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

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

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

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

Kullanılabilir sonraki karakteri döndürür ve bayt veya karakter konumunu ilerletmez.

Read()

Temel alınan akıştaki karakterleri okur ve kullanılan ve akıştan okunan belirli karaktere uygun Encoding olarak akışın geçerli konumunu ilerletir.

Read(Byte[], Int32, Int32)

Bayt dizisindeki belirtilen noktadan başlayarak akıştan belirtilen bayt sayısını okur.

Read(Char[], Int32, Int32)

Karakter dizisindeki belirtilen noktadan başlayarak akıştan belirtilen sayıda karakteri okur.

Read(Span<Byte>)

Geçerli akıştan bir bayt dizisi okur ve okunan bayt sayısına göre akış içindeki konumu ilerletir.

Read(Span<Char>)

Geçerli akıştan sağlanan arabelleğin uzunluğuyla aynı sayıda karakteri okur, sağlanan arabelleğe yazar ve kullanılan ve akıştan okunan belirli karaktere göre Encoding geçerli konumu ilerletir.

Read7BitEncodedInt()

Sıkıştırılmış biçimde 32 bitlik bir tamsayıda okur.

Read7BitEncodedInt64()

Bir kerede 7 bitlik bir sayı okur.

ReadBoolean()

Geçerli akıştan bir Boolean değer okur ve akışın geçerli konumunu bir bayt ilerletir.

ReadByte()

Geçerli akıştan sonraki baytını okur ve akışın geçerli konumunu bir bayt ilerletir.

ReadBytes(Int32)

Geçerli akıştan belirtilen bayt sayısını bir bayt dizisine okur ve geçerli konumu bu bayt sayısına kadar ilerletir.

ReadChar()

Geçerli akıştan sonraki karakteri okur ve kullanılan ve akıştan okunan belirli karaktere uygun Encoding olarak akışın geçerli konumunu ilerletir.

ReadChars(Int32)

Geçerli akıştan belirtilen sayıda karakteri okur, bir karakter dizisindeki verileri döndürür ve kullanılan ve akıştan okunan belirli karaktere uygun Encoding olarak geçerli konumu ilerletir.

ReadDecimal()

Geçerli akıştan bir ondalık değeri okur ve akışın geçerli konumunu on altı bayt ilerletir.

ReadDouble()

Geçerli akıştan 8 baytlık kayan nokta değerini okur ve akışın geçerli konumunu sekiz bayt ilerletir.

ReadHalf()

Geçerli akıştan 2 baytlık kayan nokta değerini okur ve akışın geçerli konumunu iki bayt ilerletir.

ReadInt16()

Geçerli akıştan 2 baytlık imzalı bir tamsayı okur ve akışın geçerli konumunu iki bayt ilerletir.

ReadInt32()

Geçerli akıştan 4 bayt imzalı bir tamsayı okur ve akışın geçerli konumunu dört bayt ilerletir.

ReadInt64()

Geçerli akıştan 8 baytlık imzalı tamsayıyı okur ve akışın geçerli konumunu sekiz bayt ilerletir.

ReadSByte()

Bu akıştan imzalı bir bayt okur ve akışın geçerli konumunu bir bayt ilerletir.

ReadSingle()

Geçerli akıştan 4 baytlık kayan nokta değerini okur ve akışın geçerli konumunu dört bayt ilerletir.

ReadString()

Geçerli akıştan bir dize okur. Dizeye bir kerede tamsayı yedi bit olarak kodlanmış uzunluk ön eki eklenir.

ReadUInt16()

Küçük endian kodlama kullanarak geçerli akıştan 2 baytlık işaretsiz bir tamsayı okur ve akışın konumunu iki bayt ilerletir.

ReadUInt32()

Geçerli akıştan 4 baytlık işaretsiz bir tamsayı okur ve akışın konumunu dört bayt ilerletir.

ReadUInt64()

Geçerli akıştan 8 baytlık işaretsiz bir tamsayı okur ve akışın konumunu sekiz bayt ilerletir.

ToString()

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

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

IDisposable.Dispose()

Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir.

tarafından BinaryReader(Stream, Encoding, Boolean)aksi yapılandırılmadığı sürece öğesini BaseStream serbest bırakır.

Şunlara uygulanır

Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Ayrıca bkz.