模块  java.base
软件包  java.util.zip

Interface Checksum

  • 所有已知实现类:
    Adler32CRC32CRC32C

    public interface Checksum
    表示数据校验和的接口。
    从以下版本开始:
    1.1
    • 方法摘要

      所有方法  实例方法 抽象方法  Default Methods 
      变量和类型 方法 描述
      long getValue()
      返回当前的校验和值。
      void reset()
      将校验和重置为其初始值。
      default void update​(byte[] b)
      使用指定的字节数组更新当前校验和。
      void update​(byte[] b, int off, int len)
      使用指定的字节数组更新当前校验和。
      void update​(int b)
      使用指定的字节更新当前校验和。
      default void update​(ByteBuffer buffer)
      使用指定缓冲区中的字节更新当前校验和。
    • 方法详细信息

      • update

        void update​(int b)
        使用指定的字节更新当前校验和。
        参数
        b - 用于更新校验和的字节
      • update

        default void update​(byte[] b)
        使用指定的字节数组更新当前校验和。
        实现要求:
        此默认实现等于调用 update(b, 0, b.length)
        参数
        b - 用于更新校验和的字节数组
        异常
        NullPointerException - 如果 bnull
        从以下版本开始:
        9
      • update

        void update​(byte[] b,            int off,            int len)
        使用指定的字节数组更新当前校验和。
        参数
        b - 用于更新校验和的字节数组
        off - 数据的起始偏移量
        len - 用于更新的字节数
      • update

        default void update​(ByteBuffer buffer)
        使用指定缓冲区中的字节更新当前校验和。 校验和将使用缓冲区中的剩余字节进行更新,从缓冲区的位置开始。 返回后,缓冲区的位置将更新为其限制; 它的限制不会改变。
        API Note:
        为了获得DirectByteBuffer和其他没有后备阵列的ByteBuffer实现的最佳性能,该接口的实现者应该重写此方法。
        实现要求:
        默认实现具有以下行为。
        对于由可访问的字节数组支持的ByteBuffers。
           update(buffer.array(), buffer.position() + buffer.arrayOffset(), buffer.remaining());  
        对于ByteBuffers,不支持可访问的字节数组。
           byte[] b = new byte[Math.min(buffer.remaining(), 4096)]; while (buffer.hasRemaining()) { int length = Math.min(buffer.remaining(), b.length); buffer.get(b, 0, length); update(b, 0, length); }  
        参数
        buffer - 用于更新校验和的ByteBuffer
        异常
        NullPointerException - 如果 buffernull
        从以下版本开始:
        9
      • getValue

        long getValue()
        返回当前的校验和值。
        结果
        当前的校验和值
      • reset

        void reset()
        将校验和重置为其初始值。