May 9, 2013 · 1 min read
##### A stream in Java is a carrier of data. Nearly 30 stream classes exist in java.io package. Also there are three **non-stream classes** in [java.io](http://way2java.com/io/java-io-streams-overview/) package – File, [InputStreamReader](http://way2java.com/io/keyboard-input-%e2%80%93-character-streams-bufferedreader/) and [OutputStreamWriter](http://way2java.com/io/using-outputstreamwriter/). Last two are used as bridges or converters or adapters between low-level byte streams (supported by OS like **in**, **out** and **err**) and character streams.