java.lang.Object
java.nio.charset.CoderResult
编码器结果状态的描述。
字符集编码器,即解码器或编码器,从输入缓冲区消耗字节(或字符),将它们转换,并将生成的字符(或字节)写入输出缓冲区。编码过程由此类的实例描述,终止原因分为四类:
-
当没有更多输入要处理时报告欠流,或者输入不足且需要额外输入时报告。此条件由唯一的结果对象
UNDERFLOW
表示,其isUnderflow
方法返回true
。 -
当输出缓冲区中剩余空间不足时报告溢出。此条件由唯一的结果对象
OVERFLOW
表示,其isOverflow
方法返回true
。 -
当输入单元序列不符合规范时报告格式错误输入。此类错误由其
isMalformed
方法返回true
并且length
方法返回格式错误序列的长度来描述。对于给定长度的所有格式错误输入,此类有一个唯一实例。 -
当输入单元序列表示无法在输出字符集中表示的字符时报告无法映射字符错误。此类错误由其
isUnmappable
方法返回true
并且length
方法返回表示无法映射字符的输入序列的长度来描述。对于给定长度的所有无法映射字符错误,此类有一个唯一实例。
为方便起见,isError
方法对描述格式错误输入和无法映射字符错误的结果对象返回true
,但对描述欠流或溢出条件的结果对象返回false
。
- 自版本:
- 1.4
-
Field Summary
Modifier and TypeFieldDescriptionstatic final CoderResult
表示溢出的结果对象,意味着输出缓冲区中空间不足。static final CoderResult
表示欠流的结果对象,意味着输入缓冲区已完全消耗,或者如果输入缓冲区尚未为空,则需要额外输入。 -
Method Summary
Modifier and TypeMethodDescriptionboolean
isError()
告知此对象是否描述错误条件。boolean
告知此对象是否描述格式错误输入。boolean
告知此对象是否描述溢出条件。boolean
告知此对象是否描述欠流条件。boolean
告知此对象是否描述无法映射字符错误。int
length()
返回此对象描述的错误输入的长度 (可选操作)。static CoderResult
malformedForLength
(int length) 返回描述给定长度的格式错误输入的唯一对象的静态工厂方法。void
抛出适合此对象描述的结果的异常。toString()
返回描述此编码器结果的字符串。static CoderResult
unmappableForLength
(int length) 返回描述给定长度的无法映射字符错误的唯一结果对象的静态工厂方法。
-
Field Details
-
UNDERFLOW
表示欠流的结果对象,意味着输入缓冲区已完全消耗,或者如果输入缓冲区尚未为空,则需要额外输入。 -
OVERFLOW
表示溢出的结果对象,意味着输出缓冲区中空间不足。
-
-
Method Details
-
toString
返回描述此编码器结果的字符串。 -
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
返回描述给定长度的格式错误输入的唯一对象的静态工厂方法。- 参数:
-
length
- 给定的长度 - 返回:
- 请求的编码器结果对象
-
unmappableForLength
返回描述给定长度的无法映射字符错误的唯一结果对象的静态工厂方法。- 参数:
-
length
- 给定的长度 - 返回:
- 请求的编码器结果对象
-
throwException
抛出适合此对象描述的结果的异常。- 抛出:
-
BufferUnderflowException
- 如果此对象是UNDERFLOW
-
BufferOverflowException
- 如果此对象是OVERFLOW
-
MalformedInputException
- 如果此对象表示格式错误输入;异常的长度值将是此对象的长度 -
UnmappableCharacterException
- 如果此对象表示无法映射字符错误;异常的长度值将是此对象的长度 -
CharacterCodingException
-MalformedInputException
如果此对象表示格式错误输入;UnmappableCharacterException
如果此对象表示无法映射字符错误
-