An input stream that reads ahead and keeps a buffer coming from another input stream so that fewer accesses to the underlying stream are necessary.