Many I/O-related activities handle "streams" of data. A stream is a sequence of data elements made available over time. As Wikipedia says, "A stream can be thought of as a conveyor belt that allows items to be processed one at a time rather than in large batches."
At the lowest level, all streams are bytes, but using a high-level interface could obviously help the programmer handle their data. This is the reason why a stream object usually had methods such as
write, and so on, just to make handling a byte stream a bit simpler.
In this recipe, you'll see some stream utilization examples.
In the good old Pascal days, there were a set of functions to handle the I/O (