Streams in C#
Streams in C#
Streams in C# allow you to carry data from one point to another quickly and
efficiently. The data transfer can take place between files, sockets, objects, or even
other streams.
Streams in CLR come in three forms: streams that read and write bytes, streams
that read and write characters, and a stream to read and write primitive types.
Table 1 lists the types of streams.
Byte Streams in C#
Byte streams comprise classes that treat data in the stream as bytes. These
streams are most useful when you work with data that is not in a format readable
by humans.
Stream Class
In the CLR, the Stream class provides the base for other byte stream classes. If you
want to implement your own byte-stream class, you have to override the Stream
class, which is an abstract class. Table 2 highlights some of the properties of a
stream.
The Stream class provides support for both synchronous and asynchronous
reading and writing of data through the methods outlined in Table 3.
Table 3: Some Methods for Asynchronous Reads and Writes
Table 4 lists other methods you can use with the Stream class. Note that you should
always call the Close method explicitly rather than depend upon the Garbage
Collector (GC) to free any resources used by the stream.