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