The package java.io provides two set of class hierarchies - one for handling reading and writing of bytes, and another for handling reading and writing of characters. The example below illustrates code to read a character. A character encoding is a scheme for internal representation of characters. Java programs use 16 bit Unicode character encoding to represent characters internally. The reader classes support conversions of Unicode characters to internal character shortage.
Every platform has a default character encoding.
Besides using default encoding, Reader and Writer classes can also specify which encoding scheme to use. The Reader class hierarchy is illustrated below. The Writer class hierarchy is illustrated below. The table below gives a brief overview of key Reader classes. The class supports reading of characters from a character array.