There is a clever class called FilterInputStream which can be used to add value to a raw InputStream. You can define your own filters but important ones provided are:
-
BufferedInputStream -- establishs an intermediate buffer to service stream
-
DataInputStream -- allows one to address stream in terms of higher level constructs -- namely read a line, read a long integer etc.
-
LineNumberInputStream -- adds line numbers to a stream
-
PushbackInputStream -- allows one to "unread" a character and put it back on the input stream
|