public class CoderResult extends Object
字符集编码器,即解码器或编码器,从输入缓冲器中消耗字节(或字符),将其转换,并将生成的字符(或字节)写入输出缓冲区。 编码过程以四类原因之一终止,这些原因由本类的实例描述:
当不存在要处理的更多的输入,或有输入不足,并且需要额外的输入下溢被报告。 该条件由唯一的结果对象UNDERFLOW
表示 ,其isUnderflow
方法返回true 。
当输出缓冲区中剩余的空间不足时,会报告溢出 。 该条件由唯一的结果对象OVERFLOW
表示 ,其isOverflow
方法返回true 。
当一系列输入单元格式不正确时,会报错格式输入错误 。 这种错误由该类的实例描述,其isMalformed
方法返回true ,其length
方法返回畸形序列的长度。 对于给定长度的所有格式错误的输入错误,此类有一个唯一的实例。
当的输入单元的序列表示不能在输出字符集表示的字符被报告不可映射的字符错误 。 这种错误由该类的实例描述,其isUnmappable
方法返回true ,其length
方法返回表示不可映射字符的输入序列的长度。 对于给定长度的所有不可映射字符错误,此类都有一个唯一的实例。
为了方便起见, isError
方法返回true用于描述错误输入和不可映射的字符错误,但false对于那些描述溢或上溢条件的结果对象。
Modifier and Type | Field and Description |
---|---|
static CoderResult |
OVERFLOW
指示溢出的结果对象,意味着输出缓冲区空间不足。
|
static CoderResult |
UNDERFLOW
指示下溢的结果对象,意味着输入缓冲区已经完全消耗,或者如果输入缓冲区尚未为空,则需要额外的输入。
|
Modifier and Type | Method and Description |
---|---|
boolean |
isError()
告知该对象是否描述错误状况。
|
boolean |
isMalformed()
告知这个对象是否描述了格式错误的输入错误。
|
boolean |
isOverflow()
告知该对象是否描述溢出状况。
|
boolean |
isUnderflow()
告知该对象是否描述了下溢条件。
|
boolean |
isUnmappable()
告知该对象是否描述不可映射的字符错误。
|
int |
length()
返回此对象描述的错误输入的长度
(可选操作) 。
|
static CoderResult |
malformedForLength(int length)
静态工厂方法返回描述给定长度的格式错误的唯一对象。
|
void |
throwException()
抛出与此对象描述的结果相适应的异常。
|
String |
toString()
返回描述此编码器结果的字符串。
|
static CoderResult |
unmappableForLength(int length)
静态工厂方法返回描述给定长度的不可映射字符错误的唯一结果对象。
|
public static final CoderResult UNDERFLOW
public static final CoderResult OVERFLOW
public boolean isUnderflow()
public boolean isOverflow()
public boolean isError()
public boolean isMalformed()
public boolean isUnmappable()
public int length()
UnsupportedOperationException
- 如果此对象没有描述错误条件,也就是说,如果
isError
不返回
true
public static CoderResult malformedForLength(int length)
length
- 给定的长度
public static CoderResult unmappableForLength(int length)
length
- 给定的长度
public void throwException() throws CharacterCodingException
BufferUnderflowException
- 如果这个对象是
UNDERFLOW
BufferOverflowException
- 如果此对象为
OVERFLOW
MalformedInputException
- 如果此对象表示格式错误的错误;
异常的长度值将是该对象的长度值
UnmappableCharacterException
- 如果此对象表示不可映射的字符错误;
异常长度值将是该对象的长度值
CharacterCodingException