DekGenius.com
[ Team LiB ] Previous Section Next Section

BinaryReaderCF 1.0, disposable

System.IO (mscorlib.dll)class

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 encoding);
// Public Instance Properties
   public virtual Stream BaseStream{get; }
// Public Instance Methods
   public virtual void Close( );
   public virtual int PeekChar( );
   public virtual int Read( );
   public virtual int Read(byte[ ] buffer, int index, int count);
   public virtual int Read(char[ ] buffer, int index, int count);
   public virtual bool ReadBoolean( );
   public virtual byte ReadByte( );
   public virtual byte[ ] ReadBytes(int count);
   public virtual char ReadChar( );
   public virtual char[ ] ReadChars(int count);
   public virtual decimal ReadDecimal( );
   public virtual double ReadDouble( );
   public virtual short ReadInt16( );
   public virtual int ReadInt32( );
   public virtual long ReadInt64( );
   public virtual sbyte ReadSByte( );
   public virtual float ReadSingle( );
   public virtual string ReadString( );
   public virtual ushort ReadUInt16( );
   public virtual uint ReadUInt32( );
   public virtual ulong ReadUInt64( );
// Protected Instance Methods
   protected virtual void Dispose(bool disposing);
   protected virtual void FillBuffer(int numBytes);
   protected int Read7BitEncodedInt( );
}
[ Team LiB ] Previous Section Next Section