You must use a java.io.Reader derived class to handler Unicode.
Unicode characters are stored according to encodings:
UTF-8, UTF-16, etc.
US-ASCII
ISO646-JP (Japanese)
Example:
InputStream is = ...; Reader r = new InputStreamReader(is,"UTF-8"); // or look up the charset Charset cs = Charset.forName("UTF-8"); Reader altr = new InputStreamReader(is,cs);