BinaryReader Sınıf
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.
İlkel veri türlerini belirli bir kodlamada ikili değerler olarak okur.
public ref class BinaryReader : IDisposable
public class BinaryReader : IDisposable
[System.Runtime.InteropServices.ComVisible(true)]
public class BinaryReader : IDisposable
type BinaryReader = class
interface IDisposable
[<System.Runtime.InteropServices.ComVisible(true)>]
type BinaryReader = class
interface IDisposable
Public Class BinaryReader
Implements IDisposable
- Devralma
-
BinaryReader
- Öznitelikler
- Uygulamalar
Örnekler
Aşağıdaki kod örneği, uygulama ayarlarının bir dosyada nasıl depolanıp alınduğunu gösterir.
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);
}
}
}
open System.IO
open System.Text
let fileName = "AppSettings.dat"
let writeDefaultValues () =
use stream = File.Open(fileName, FileMode.Create)
use writer = new BinaryWriter(stream, Encoding.UTF8, false)
writer.Write 1.250F
writer.Write @"c:\Temp"
writer.Write 10
writer.Write true
let displayValues () =
if File.Exists fileName then
use stream = File.Open(fileName, FileMode.Open)
use reader = new BinaryReader(stream, Encoding.UTF8, false)
let aspectRatio = reader.ReadSingle()
let tempDirectory = reader.ReadString()
let autoSaveTime = reader.ReadInt32()
let showStatusBar = reader.ReadBoolean()
printfn $"Aspect ratio set to: {aspectRatio}"
printfn $"Temp directory is: {tempDirectory}"
printfn $"Auto save time set to: {autoSaveTime}"
printfn $"Show status bar: {showStatusBar}"
writeDefaultValues ()
displayValues ()
Imports System.IO
Module Module1
Const fileName As String = "AppSettings.dat"
Sub Main()
WriteDefaultValues()
DisplayValues()
End Sub
Sub WriteDefaultValues()
Using writer As BinaryWriter = New BinaryWriter(File.Open(fileName, FileMode.Create))
writer.Write(1.25F)
writer.Write("c:\Temp")
writer.Write(10)
writer.Write(True)
End Using
End Sub
Sub DisplayValues()
Dim aspectRatio As Single
Dim tempDirectory As String
Dim autoSaveTime As Integer
Dim showStatusBar As Boolean
If (File.Exists(fileName)) Then
Using reader As BinaryReader = New BinaryReader(File.Open(fileName, FileMode.Open))
aspectRatio = reader.ReadSingle()
tempDirectory = reader.ReadString()
autoSaveTime = reader.ReadInt32()
showStatusBar = reader.ReadBoolean()
End Using
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)
End If
End Sub
End Module
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 ReadBoolean Boole değeri olarak okumak ve akıştaki geçerli konumu bir bayt ilerletmek için yöntemini kullanabilirsiniz. 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 yok ettikten BinaryReader sonra akışın açık bırakılıp bırakılmayacağını belirtirsiniz. Kodlama türü belirtmezseniz UTF-8 kullanılır.
Important
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.
Oluşturucular
| Name | Description |
|---|---|
| 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. |
| BinaryReader(Stream, Encoding) |
Belirtilen akışa ve karakter kodlamaya BinaryReader göre sınıfının yeni bir örneğini başlatır. |
| 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. |
Özellikler
| Name | Description |
|---|---|
| BaseStream |
temel alınan akışına BinaryReadererişimi kullanıma sunar. |
Yöntemler
| Name | Description |
|---|---|
| Close() |
Geçerli okuyucuyu ve temel alınan akışı kapatır. |
| Dispose() |
Sınıfın geçerli örneği BinaryReader 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() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| PeekChar() |
Bir sonraki kullanılabilir karakteri döndürür ve bayt veya karakter konumunu ilerletmez. |
| Read() |
Temel alınan akıştaki karakterleri okur ve kullanılana ve akıştan okunan belirli karaktere uygun |
| 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 bir 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ıştaki konumu ilerletir. |
| Read(Span<Char>) |
Geçerli akıştan, sağlanan arabelleğin uzunluğuyla aynı sayıda karakteri okur, bunları sağlanan arabelleğe yazar ve kullanılan ve akıştan okunan belirli karaktere uygun |
| 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 |
| 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ı bayt dizisine okur ve geçerli konumu bu bayt sayısına göre ilerletir. |
| ReadChar() |
Geçerli akıştan sonraki karakteri okur ve kullanılana ve akıştan okunan belirli karaktere uygun |
| ReadChars(Int32) |
Geçerli akıştan belirtilen karakter sayısını okur, bir karakter dizisindeki verileri döndürür ve kullanılan ve akıştan okunan belirli karaktere göre |
| ReadDecimal() |
Geçerli akıştan 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. |
| ReadExactly(Span<Byte>) |
Geçerli akıştan baytları okur ve doldurulana kadar |
| 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 bayt işaretli bir tamsayı okur ve akışın geçerli konumunu iki bayt ilerletir. |
| ReadInt32() |
Geçerli akıştan 4 bayt işaretli bir tamsayı okur ve akışın geçerli konumunu dört bayt ilerletir. |
| ReadInt64() |
Geçerli akıştan 8 bayt işaretli bir tamsayı 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. Dizenin başına uzunluğu eklenir ve bir kerede yedi bit tamsayı olarak kodlanır. |
| 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 bir dize döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. tarafından BaseStreamaksi yapılandırılmadığı sürece öğesini BinaryReader(Stream, Encoding, Boolean) serbest bırakır. |