The BCL provides a streams-based I/O framework that can handle a wide range of stream and backing store types. This support for streams also infuses the rest of the BCL, with the pattern repeating in non-I/O areas such as cryptography, HTTP support, and more.
This section describes the core stream types and provides examples.
The types mentioned in this section all exist in the
A stream represents the flow of data coming in and out of a backing store. A backing store represents the endpoint of a stream. Although a backing store is often a file or network connection, in reality it can represent any medium capable of reading or writing raw data.
A simple example would be to use a stream to read and write to a file on disk. However, streams and backing stores are not limited to disk and network I/O. A more sophisticated example would be to use the cryptography support in the BCL to encrypt or decrypt a stream of bytes as they move around in memory.
Stream is an abstract
class that defines operations for reading and writing a stream of raw
typeless data as bytes. Once a stream has been opened, it stays open
and can be read from or written to until the stream is flushed and
closed. Flushing a stream updates the writes
made to the stream; closing a stream first flushes the stream, then
closes the stream.
Stream has the methods
, for streams that support only sequential access. ...