This type buffers read and write operations
to a stream. Because the I/O devices
are usually the slowest part of the machine, it usually makes sense
to write larger amounts of data at a time, so buffering can improve
I/O performance dramatically.
Note that many of the Stream-based types
automatically buffer data or represent resources that also buffer
data, not only in the System.IO namespace, but
also in other namespaces. For example, the filesystem usually has
several buffers in place at various levels. This type, however,
offers some optimization capabilities, since data
won't be sent to the underlying
Stream until this object's buffer
is full. This can help with accidental flushing in the middle of
sensitive operations, such as a tightly executing loop.
public sealed class BufferedStream : Stream {
// Public Constructors
public BufferedStream(Stream stream);
public BufferedStream(Stream stream, int bufferSize);
// Public Instance Properties
public override bool CanRead{get; }
// overrides Stream
public override bool CanSeek{get; }
// overrides Stream
public override bool CanWrite{get; }
// overrides Stream
public override long Length{get; }
// overrides Stream
public override long Position{set; get; }
// overrides Stream
// Public Instance Methods
public override void Close( );
// overrides Stream
public override void Flush( );
// overrides Stream
public override int Read(in byte[ ] array, int offset, int count)
// overrides Stream
public override int ReadByte( );
// overrides Stream
public override long Seek(long offset, SeekOrigin origin);
// overrides Stream
public override void SetLength(long value);
// overrides Stream
public override void Write(byte[ ] array, int offset, int count)
// overrides Stream
public override void WriteByte(byte value);
// overrides Stream
}