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.
Temel 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, bir dosyada uygulama ayarlarının 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 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 |
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 |
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ı 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 |
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 |
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. |