Name

BufferedStream

Synopsis

These 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 method BufferedStream(Stream stream);  
   public method BufferedStream(Stream stream, 
        int bufferSize);  
// Public Instance Properties
   public override field bool CanRead{get; }                     // overrides Stream
   public override field bool CanSeek{get; }                     // overrides Stream
   public override field bool CanWrite{get; }                    // overrides Stream
   public override field long Length{get; }                      // overrides Stream
   public override field long Position{set; get; }               // overrides Stream
                  // Public Instance Methods
   public override method void Close();                          // overrides Stream
   public override method void Flush();                          // overrides Stream
   public override method int Read(in byte[] array ...

Get C# in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.