This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.Find sources: "Stream" computing – news · newspapers · books · scholar · JSTOR (April 2015) This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (April 2015) (Learn how and when to remove this message) The article's lead section may need to be rewritten. Please help improve the lead and read the lead layout guide. (April 2015) (Learn how and when to remove this message) (Learn how and when to remove this message)
The standard streams for input, output, and error

In computer science, a stream is a sequence of potentially unlimited data elements made available over time. A stream can be thought of as items on a conveyor belt being processed one at a time rather than in large batches. Streams are processed differently from batch data.

Normal functions cannot operate on streams as a whole because they have potentially unlimited data. Formally, streams are codata (potentially unlimited), not data (which is finite).

Functions that operate on a stream producing another stream are known as filters and can be connected in pipelines in a manner analogous to function composition. Filters may operate on one item of a stream at a time or may base an item of output on multiple items of input such as a moving average.


The term "stream" is used in a number of similar ways:


This section needs expansion. You can help by adding to it. (February 2014)

Streams can be used as the underlying data type for channels in interprocess communication.

Other uses

The term "stream" is also applied to file system forks, where multiple sets of data are associated with a single filename. Most often, there is one main stream that makes up the normal file data, while additional streams contain metadata. Here "stream" is used to indicate "variable size data", as opposed to fixed size metadata such as extended attributes, but differs from "stream" as used otherwise, meaning "data available over time, potentially infinite".

See also