View
232
Download
2
Category
Preview:
Citation preview
BinaryWriter and BinaryReaderJason
BinaryWriter
Writes primitive types in binary to a stream and supports writing strings in a specific encoding.
BinaryWriter()
BinaryWriter(Stream)
BinaryWriter(Stream, Encoding)
BinaryWriter(Stream, Encoding, Boolean)
BinaryWriter
Methods
Write(Boolean) Write(Byte) Write(Byte[]) Write(Char)
Write(Char[]) Write(Decimal)
Write(Double) Write(Int16)
Write(Int32) Write(Int64) Write(SByte) Write(Single)
Write(String) Write(UInt16) Write(UInt32) Write(UInt64)
Write(Byte[], Int32, Int32) Write(Char[], Int32, Int32)
BinaryReader
Reads primitive data types as binary values in a specific encoding.
BinaryReader(Stream)
BinaryReader(Stream, Encoding)
BinaryReader(Stream, Encoding, Boolean)
BinaryReader
Methods
Read() ReadBoolean ReadByte ReadBytes
ReadChar ReadChars ReadDecimal ReadDouble
ReadInt16 ReadInt32 ReadInt64 ReadSByte
ReadSingle ReadString ReadUInt16 ReadUInt32
Read(Char[], Int32, Int32) Read(Byte[], Int32, Int32)
BinaryReader
example
using (var writer = new BinaryWriter(File.Open(fileName, FileMode.Create))){ writer.Write(10);}
using (var reader = new BinaryReader(File.Open(fileName, FileMode.Open))){ reader.ReadInt32(); reader.ReadBytes();}
reader.ReadInt32()Answer: 10
reader.ReadBytes()Answer:
BinaryReader
example
using (var writer = new BinaryWriter(File.Open(fileName, FileMode.Create))){ writer.Write(“Jason”);}
using (var reader = new BinaryReader(File.Open(fileName, FileMode.Open))){ reader.ReadString(); reader.ReadBytes();}
reader.ReadString()Answer: Jason
reader.ReadBytes()Answer:
BinaryWriter and BinaryReader
example
using (var writer = new BinaryWriter(File.Open(fileName, FileMode.Create))) { writer.Write(1.250F); writer.Write(@"c:\Temp"); writer.Write(10); writer.Write(true); }
using (var reader = new BinaryReader(File.Open(fileName, FileMode.Open))){ var aspectRatio = reader.ReadSingle(); var tempDirectory = reader.ReadString(); var autoSaveTime = reader.ReadInt32(); var showStatusBar = reader.ReadBoolean();}
BinaryReader
Remarks
BinaryReader does not restore the file position after an unsuccessful read.
BinaryReader VS StreamReader
If the entirety of your data is a straightforward binary encoding of text data, use StreamReader.
If you've fundamentally got binary data which may happen to have some portions in text, use BinaryReader
Reference
File and Stream I/O
http://msdn.microsoft.com/en-us/library/k3352a4t(v=vs.110).aspx
BinaryReader
http://msdn.microsoft.com/en-us/library/system.io.binaryreader(v=vs.110).aspx
BinaryWriter
http://msdn.microsoft.com/en-us/library/gg712841(v=vs.110).aspx
Recommended