java.nio.charset

异常
错误
java.lang.Object
  继承者 java.nio.charset.CoderResult

public class CoderResult
     
extends Object

coder 结果状态的描述。

charset coder(即解码器或编码器)使用输入缓冲区中的字节(或字符)、对它们进行转换,并将结果字符(或字节)写入输出缓冲区。编码进程终止的原因是以下四类之一,这些原因由此类的实例描述:

  • 当没有更多的输入要处理时,或者当现有的输入不足而需要其他的输入时报告下溢(Underflow)。这种情况用唯一的结果对象 UNDERFLOW 表示,该对象的 isUnderflow 方法返回 true

  • 当输出缓冲区没有足够的剩余空间时报告溢出(Overflow)。这种情况用唯一的结果对象 OVERFLOW 表示,该对象的 isOverflow 方法返回 true

  • 当输入单元序列不是格式良好时报告错误的输入错误。这种错误用此类的实例来描述,该类的 isMalformed 方法返回 true,该类的 length 方法返回错误序列的长度。对所有的给定长度的错误输入错误,有此类的一个唯一实例描述。

  • 当表示一个字符的输入单元序列不能在输出 charset 中表示时报告不可映射的字符错误。这种错误用此类的实例描述,该类的 isUnmappable 方法返回 true,该类的 length 方法返回表示不可映射的字符的输入序列的长度。对所有的给定长度的不可映射的字符错误,有此类的一个唯一实例描述。

为了方便, isError 方法为描述错误输入和不可映射的字符错误的结果对象返回 true,但是为那些描述下溢或溢出情况的结果对象返回 false

从以下版本开始:
1.4

字段摘要
static CoderResult OVERFLOW
          指示溢出的结果对象,意味着输出缓冲区没有足够的空间。
static CoderResult UNDERFLOW
          指示下溢的结果对象,意味着输入缓冲区中的输入被用完,或者如果输入缓冲区不是空的,但还需要其他的输入。
 
方法摘要
 boolean isError()
          通知此对象是否描述错误情况。
 boolean isMalformed()
          通知此对象是否描述错误输入错误。
 boolean isOverflow()
          通知此对象是否描述溢出情况。
 boolean isUnderflow()
          通知此对象是否描述下溢情况。
 boolean isUnmappable()
          通知此对象是否描述不可映射的字符错误。
 int length()
          返回此对象描述的错误输入的长度(可选操作)
static CoderResult malformedForLength(int length)
          静态工厂方法,返回描述给定长度的错误输入错误的唯一对象。
 void throwException()
          抛出相应于此对象描述的结果的异常。
 String toString()
          返回描述此 CoderResult 的字符串。
static CoderResult unmappableForLength(int length)
          静态工厂方法,返回描述给定长度的不可映射的字符错误的唯一对象。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

UNDERFLOW

public static final CoderResult UNDERFLOW
指示下溢的结果对象,意味着输入缓冲区中的输入被用完,或者如果输入缓冲区不是空的,但还需要其他的输入。


OVERFLOW

public static final CoderResult OVERFLOW
指示溢出的结果对象,意味着输出缓冲区没有足够的空间。

方法详细信息

toString

public String toString()
返回描述此 CoderResult 的字符串。

覆盖:
Object 中的 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

public static CoderResult malformedForLength(int length)
静态工厂方法,返回描述给定长度的错误输入错误的唯一对象。

返回:
请求的 CoderResult 对象

unmappableForLength

public static CoderResult unmappableForLength(int length)
静态工厂方法,返回描述给定长度的不可映射的字符错误的唯一对象。

返回:
请求的 CoderResult 对象

throwException

public void throwException()
                    throws CharacterCodingException
抛出相应于此对象描述的结果的异常。

抛出:
BufferUnderflowException - 如果此对象是 UNDERFLOW
BufferOverflowException - 如果此对象是 OVERFLOW
MalformedInputException - 如果此对象表示一个错误输入错误;该异常的长度值是此对象的长度值
UnmappableCharacterException - 如果此对象表示一个不可映射的字符错误;该异常的长度值是此对象的长度值
CharacterCodingException