Streams are an interface for working with streaming data: data which arrives chunk by chunk over time. Essentially, a stream is a collection of data which isn’t available all at once. The data in a stream arrives piece by piece, typically one chunk at a time. As a result, each piece of data is handled as it arrives from the stream, whenever that may be. Streams let us work with data that is too large to fit into memory. That’s because with streams, we only ever work with chunks of data at a time