...
Note that the read() methods will return as soon as they find that available input data is available. By default, none of them guarantee guarantees that all the requested bytes will be read. It is left to the programmer to check the number of bytes read and call the read() method again as required. Ignoring the result returned by the read() methods is a violation of EXP02-J. Do not ignore values returned by methods.
Multibyte encodings like such as UTF-8 are used for character sets that require more than one byte to uniquely identify each constituting character. For example, the Japanese encoding Shift-JIS (shown below), supports multibyte encoding where wherein the maximum character length is two bytes (one leading and one trailing byte).
...