Java : CRC32 示例
Java 中的 CRC32 (Java SE 23 & JDK 23) 及其示例。
您将找到大多数 CRC32 方法的代码示例。
注解 :
- 本文可能使用了翻译软件以方便阅读。 另请查看英文原文。
简介
可用于计算数据流的 CRC-32 的类。 (机器翻译)
final byte[] b = "abcd".getBytes();
System.out.println(Arrays.toString(b)); // [97, 98, 99, 100]
final var checksum = new CRC32();
checksum.update(b);
System.out.printf("%x%n", checksum.getValue()); // ed82cd11
Constructors
CRC32 ()
创建一个新的 CRC32 对象。 (机器翻译)
final var checksum = new CRC32();
System.out.printf("%x%n", checksum.getValue()); // 0
checksum.update(123);
System.out.printf("%x%n", checksum.getValue()); // 15d54739
Methods
long getValue ()
返回 CRC-32 值。 (机器翻译)
final var b = "abcd".getBytes();
System.out.println(Arrays.toString(b)); // [97, 98, 99, 100]
final var checksum = new CRC32();
checksum.update(b);
System.out.printf("%x%n", checksum.getValue()); // ed82cd11
final var checksum = new CRC32();
checksum.update(97);
System.out.printf("%x%n", checksum.getValue()); // e8b7be43
checksum.update(98);
System.out.printf("%x%n", checksum.getValue()); // 9e83486d
checksum.update(99);
System.out.printf("%x%n", checksum.getValue()); // 352441c2
checksum.update(100);
System.out.printf("%x%n", checksum.getValue()); // ed82cd11
void reset ()
将 CRC-32 重置为初始值。 (机器翻译)
final var checksum = new CRC32();
System.out.printf("%x%n", checksum.getValue()); // 0
checksum.update("abcd".getBytes());
System.out.printf("%x%n", checksum.getValue()); // ed82cd11
checksum.reset();
System.out.printf("%x%n", checksum.getValue()); // 0
void update (byte[] b, int off, int len)
使用指定的字节数组更新 CRC-32 校验和。 (机器翻译)
final var b = "abcdXYZ".getBytes();
System.out.println(Arrays.toString(b)); // [97, 98, 99, 100, 88, 89, 90]
final var checksum = new CRC32();
checksum.update(b, 0, 4);
System.out.printf("%x%n", checksum.getValue()); // ed82cd11
checksum.reset();
checksum.update(b, 4, 3);
System.out.printf("%x%n", checksum.getValue()); // 7d29f8ed
final var checksum = new CRC32();
checksum.update("abcd".getBytes());
System.out.printf("%x%n", checksum.getValue()); // ed82cd11
checksum.reset();
checksum.update("XYZ".getBytes());
System.out.printf("%x%n", checksum.getValue()); // 7d29f8ed
void update (int b)
使用指定字节(参数 b 的低八位)更新 CRC-32 校验和。 (机器翻译)
final var b = "abcd".getBytes();
System.out.println(Arrays.toString(b)); // [97, 98, 99, 100]
final var checksum = new CRC32();
checksum.update(b);
System.out.printf("%x%n", checksum.getValue()); // ed82cd11
final var checksum = new CRC32();
checksum.update(97);
System.out.printf("%x%n", checksum.getValue()); // e8b7be43
checksum.update(98);
System.out.printf("%x%n", checksum.getValue()); // 9e83486d
checksum.update(99);
System.out.printf("%x%n", checksum.getValue()); // 352441c2
checksum.update(100);
System.out.printf("%x%n", checksum.getValue()); // ed82cd11
void update (ByteBuffer buffer)
使用指定缓冲区中的字节更新 CRC-32 校验和。 (机器翻译)
final var buffer = ByteBuffer.wrap("abcd".getBytes());
System.out.println(buffer); // java.nio.HeapByteBuffer[pos=0 lim=4 cap=4]
final var checksum = new CRC32();
checksum.update(buffer);
System.out.printf("%x%n", checksum.getValue()); // ed82cd11
System.out.println(buffer); // java.nio.HeapByteBuffer[pos=4 lim=4 cap=4]