Input/Output
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
System.I/O
namespace.
Streams and Backing Stores
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.
Abstract Stream class
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
CanRead
,
CanWrite
, and
CanSeek
, for streams that support only sequential access. ...
Get C# Essentials 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.