📅  最后修改于: 2023-12-03 15:16:02.970000             🧑  作者: Mango
CheckedInputStream
类是一个输入流过滤器,用于计算输入流中数据的校验和。输入流可以是任何类型的,文件、网络连接等等。
CheckedInputStream(InputStream in, Checksum cksum);
in
:输入流数据cksum
:所需计算的Checksum对象下面的示例演示如何使用CheckedInputStream
计算数据的校验和:
import java.util.zip.*;
import java.io.*;
class Main {
public static void main(String[] args) throws Exception {
FileInputStream fileInputStream = new FileInputStream("example.txt");
//创建Checksum对象
Adler32 adler32 = new Adler32();
//创建CheckedInputStream对象
CheckedInputStream checkedInputStream = new CheckedInputStream(fileInputStream, adler32);
//从输入流读取数据
while (checkedInputStream.read() != -1);
//获取校验和
long checksumValue = adler32.getValue();
System.out.println("Checksum: " + checksumValue);
}
}
CheckedInputStream
类提供了以下方法:
| 方法 | 描述 |
| ------------------------------ | ------------------------------------------------------------ |
| int read()
| 读取输入流并更新Checksum对象的值 |
| int read(byte[] buffer, int offset, int count)
| 读取输入流中指定数量的数据,并更新Checksum对象的值 |
| long skip(long count)
| 跳过输入流中指定数量的字节,不影响Checksum对象的值 |
| Checksum getChecksum()
| 返回用于计算校验和的Checksum对象 |
CheckedInputStream
类是一个用于计算输入流中数据校验和的输入流过滤器。使用此类,可以很方便地对输入流中的数据进行校验和计算,并确保数据完整性。