Name

CoderResult

Synopsis

A CoderResult object specifies the results of a call to CharsetDecoder.decode( ) or CharsetEncoder.encode( ). There are four possible reasons why a call to the decode( ) or encode( ) would return:

  • If all the bytes have been decoded or all the characters have been encoded, and the input buffer is empty, then the return value is the constant object CoderResult.UNDERFLOW, indicating that coding stopped because there was no more data to code. Calling the isUnderflow( ) method on the returned object returns true and calling isError( ) returns false. This is a normal return value.

  • If there is more data to be coded, but there is no more room in the output buffer to store the coded data, then the return value is the constant object CoderResult.OVERFLOW. Calling isOverflow( ) on the returned object returns true, and calling isError( ) returns false. This is a normal return value.

  • If the input data was malformed, containing characters or bytes that are not legal for the charset, and the CharsetEncoder or CharsetDecoder has not specified that malformed input should be ignored or replaced, then the returned value is a CoderResult object whose isError( ) and isMalformed( ) methods both return true. The position of the input buffer is at the first malformed character or byte, and the length( ) method of the returned object specifies how many characters or bytes are malformed.

  • If the input was well-formed, but contains characters or bytes that are “unmappable”—that cannot ...

Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.