Name

BinaryReader

Synopsis

This class allows you to read data from a Stream. When using a BinaryReader, the data represented by a Stream is regarded as a binary format, and bits are merely read from the stream and copied into the appropriate types. The methods prefixed with Read( ) allow you to grab data of a specific type from the front of the Stream and advance the current position. The next table shows how many bytes each of these methods reads in from a stream.

Method

Bytes read

Method

Bytes read

Read

variable

ReadInt32

4

ReadBoolean

1

ReadInt64

8

ReadByte

1

ReadSByte

1

ReadBytes

variable

ReadSingle

4

ReadChar

2

ReadString

variable

ReadChars

variable

ReadUInt16

2

ReadDecimal

16

ReadUInt32

4

ReadDouble

8

ReadUInt64

8

ReadString( ) uses the current encoding of the BinaryReader, which can be set when you call the constructor. Strings are prefixed with their length. PeekChar( ) allows you to look at the first character of a stream (a System.Char, which is two bytes) without advancing the position of the Stream. Because a binary reader may hold on to resources that should be freed when not needed, the BinaryReader must be closed using Close( ) or by wrapping it in a using block (which calls the protected Dispose( ) method to do the cleanup at the end of the using block).

public class BinaryReader : IDisposable {
// Public Constructors
   public BinaryReader(Stream input);
   public BinaryReader(Stream input, System.Text.Encoding ...

Get C# in a Nutshell, Second Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.