Пример #1
0
		/// <summary>
		/// Constructs a new binary reader with the given bit converter, reading
		/// to the given stream, using the given encoding.
		/// </summary>
		/// <param name="bitConverter">Converter to use when reading data</param>
		/// <param name="stream">Stream to read data from</param>
		/// <param name="encoding">Encoding to use when reading character data</param>
		public EndianBinaryReader (EndianBitConverter bitConverter,	Stream stream, Encoding encoding)
		{
			if (bitConverter==null)
			{
				throw new ArgumentNullException("bitConverter");
			}
			if (stream==null)
			{
				throw new ArgumentNullException("stream");
			}
			if (encoding==null)
			{
				throw new ArgumentNullException("encoding");
			}
			if (!stream.CanRead)
			{
				throw new ArgumentException("Stream isn't writable", "stream");
			}
			this.stream = stream;
			this.bitConverter = bitConverter;
			this.encoding = encoding;
			this.decoder = encoding.GetDecoder();
			this.minBytesPerChar = 1;

			if (encoding is UnicodeEncoding)
			{
				minBytesPerChar = 2;
			}
		}
Пример #2
0
 /// <summary>
 /// Constructs a new binary writer with the given bit converter, writing
 /// to the given stream, using the given encoding.
 /// </summary>
 /// <param name="bitConverter">Converter to use when writing data</param>
 /// <param name="stream">Stream to write data to</param>
 /// <param name="encoding">Encoding to use when writing character data</param>
 public EndianBinaryWriter(EndianBitConverter bitConverter, Stream stream, Encoding encoding)
 {
     if (bitConverter == null)
     {
         throw new ArgumentNullException("bitConverter");
     }
     if (stream == null)
     {
         throw new ArgumentNullException("stream");
     }
     if (encoding == null)
     {
         throw new ArgumentNullException("encoding");
     }
     if (!stream.CanWrite)
     {
         throw new ArgumentException("Stream isn't writable", "stream");
     }
     this.stream       = stream;
     this.bitConverter = bitConverter;
     this.encoding     = encoding;
 }
Пример #3
0
		/// <summary>
		/// Constructs a new binary writer with the given bit converter, writing
		/// to the given stream, using the given encoding.
		/// </summary>
		/// <param name="bitConverter">Converter to use when writing data</param>
		/// <param name="stream">Stream to write data to</param>
		/// <param name="encoding">Encoding to use when writing character data</param>
		public EndianBinaryWriter (EndianBitConverter bitConverter,	Stream stream, Encoding encoding)
		{
			if (bitConverter==null)
			{
				throw new ArgumentNullException("bitConverter");
			}
			if (stream==null)
			{
				throw new ArgumentNullException("stream");
			}
			if (encoding==null)
			{
				throw new ArgumentNullException("encoding");
			}
			if (!stream.CanWrite)
			{
				throw new ArgumentException("Stream isn't writable", "stream");
			}
			this.stream = stream;
			this.bitConverter = bitConverter;
			this.encoding = encoding;
		}
Пример #4
0
 /// <summary>
 /// Equivalent of System.IO.BinaryWriter, but with either endianness, depending on
 /// the EndianBitConverter it is constructed with.
 /// </summary>
 /// <param name="bitConverter">Converter to use when reading data</param>
 /// <param name="stream">Stream to read data from</param>
 public EndianBinaryReader(EndianBitConverter bitConverter,
                           Stream stream) : this(bitConverter, stream, Encoding.UTF8)
 {
 }
Пример #5
0
        /// <summary>
        /// Equivalent of System.IO.BinaryWriter, but with either endianness, depending on
        /// the EndianBitConverter it is constructed with.
        /// </summary>
        /// <param name="bitConverter">Converter to use when reading data</param>
        /// <param name="stream">Stream to read data from</param>
        public EndianBinaryReader(EndianBitConverter bitConverter,
								   Stream stream)
            : this(bitConverter, stream, Encoding.UTF8)
        {
        }