It supports both synchronous and asynchronous read and write operations
Streams involve three fundamental operations:
1. You can read from streams. Reading is the transfer of data from a stream into a data structure, such as an array of bytes.
2. You can write to streams. Writing is the transfer of data from a data structure into a stream.
3. Streams can support seeking. Seeking is the querying and modifying of the current position within a stream. Seek capability depends on the kind of backing store a stream has. For example, network streams have no unified concept of a current position, and therefore typically do not support seeking.
Stream is the abstract base class of all streams. A stream is an abstraction of a sequence of bytes, such as a file, an input/output device, an inter-process communication pipe, or a TCP/IP socket.
Notes to Implementers When implementing a derived class of Stream, you must provide implementations for the Read and Write methods..

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe