11
BinaryWriter and BinaryReader Jason

Binary

Embed Size (px)

Citation preview

Page 1: Binary

BinaryWriter and BinaryReaderJason

Page 3: Binary

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)

Page 5: Binary

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)

Page 6: Binary

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:

Page 7: Binary

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:

Page 8: Binary

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

Page 9: Binary

BinaryReader

Remarks

BinaryReader does not restore the file position after an unsuccessful read.

Page 10: Binary

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

Page 11: Binary

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