O'Reilly logo

C# in a Nutshell by Peter Drayton, Ted Neward, Ben Albahari

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required