In computing, the term stream is used in a number of ways, in all cases referring to a succession of data elements made available over time.
On Unix and related systems based on the C programming language, a stream is a source or sink of data, usually individual bytes or characters. Streams are an abstraction used when reading or writing files, or communicating over network sockets. The standard streams are three streams made available to all programs.
Pipelines can also be understood as streams as well as any unlimited (non-packaged) information that is inserted by a device.
In the Scheme programming language and some others, a stream is a lazily evaluated or delayed sequence of data elements. A stream can be used similarly to a list, but later elements are only calculated when needed. Streams can therefore represent infinite sequences and series.[1]
Filesystems can store multiple named independent streams against a single filename. There is one main stream which makes up the normal file data. Additional streams can be used to store icons, summary and indexing information, zone information (i.e., where the file was downloaded from) etc.[3]