模块 java.base

类 CoderResult

java.lang.Object
java.nio.charset.CoderResult

public class CoderResult extends Object
对编码器结果状态的描述。

字符集编码器,即解码器或编码器,从输入缓冲区消耗字节(或字符),翻译它们,并将生成的字符(或字节)写入输出缓冲区。编码过程因四类原因之一而终止,这些原因由此类的实例描述:

  • 下溢当没有更多的输入需要处理,或者输入不足需要额外的输入时报告。此条件由唯一结果对象 UNDERFLOW 表示,其 isUnderflow 方法返回 true

  • Overflow当输出缓冲区中剩余空间不足时报告。此条件由唯一结果对象 OVERFLOW 表示,其 isOverflow 方法返回 true

  • A 输入错误当输入单元序列格式不正确时报告。此类错误由此类的实例描述,其 isMalformed 方法返回 true 并且其 length 方法返回格式错误序列的长度。对于给定长度的所有格式错误的输入错误,此类都有一个唯一实例。

  • 一个不可映射字符错误当输入单元序列表示无法在输出字符集中表示的字符时报告。此类错误由此类的实例描述,其 isUnmappable 方法返回 true 并且其 length 方法返回表示不可映射字符的输入序列的长度。对于给定长度的所有不可映射字符错误,此类都有一个唯一实例。

为方便起见,isError 方法为描述输入格式错误和不可映射字符错误的结果对象返回 true,但为描述下溢或溢出条件的结果对象返回 false

自从:
1.4
  • 字段摘要

    字段
    修饰符和类型
    Field
    描述
    static final CoderResult
    指示溢出的结果对象,意味着输出缓冲区中没有足够的空间。
    static final CoderResult
    指示下溢的结果对象,这意味着输入缓冲区已完全消耗,或者如果输入缓冲区尚未为空,则需要额外的输入。
  • 方法总结

    修饰符和类型
    方法
    描述
    boolean
    告知此对象是否描述错误情况。
    boolean
    告知此对象是否描述格式错误的输入错误。
    boolean
    告知此对象是否描述了溢出情况。
    boolean
    告知此对象是否描述了下溢情况。
    boolean
    告知此对象是否描述了不可映射字符错误。
    int
    返回此对象描述的错误输入的长度(可选操作).
    static CoderResult
    malformedForLength(int length)
    返回描述给定长度的格式错误输入错误的唯一对象的静态工厂方法。
    void
    抛出与此对象描述的结果相适应的异常。
    返回描述此编码器结果的字符串。
    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()
      返回描述此编码器结果的字符串。
      重写:
      toString 在类 Object
      返回:
      描述性字符串
    • 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