java - 如何获取输入流的 crc 并返回其克隆是

标签 java inputstream

我有一个输入流。首先我需要获取 crc,这是我知道该怎么做的,例如:

 CRCUtils.getCRC32(IOUtils.toByteArray(is))

我在 crcUtils 中有方法可以从字节数组计算它。但随后我再次需要这个输入流,并且我无法使用前一个输入流,因为它到达了末尾。那么有没有选项如何获取 is 的 crc 和克隆?

最佳答案

使用CheckedInputStream在读取流时计算 CRC:

CRC32 crc = new CRC32();
try (InputStream in = new CheckedInputStream(new FileInputStream("myfile"), crc)) {
    // read the input ...
}
// now crc contains the checksum of the input
long crc32 = crc.getValue();

关于java - 如何获取输入流的 crc 并返回其克隆是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15092758/

相关文章:

java - HashMap InputStream/Scanner 服务器问题

java - 制作文件输入流时未找到文件异常?

android - 3G+网络下下载速度很小

java - 如何在java中验证重叠否

java - 如何访问自定义线程池执行器方法中的线程对象?

java - 如何使用 javax.mail 库将 byte[] 转换为消息

java - 如何在 Scala 中使用 Java lambda

java - 如何忽略子字符串中的空格?

java - 读取UTF-8编码的文件并转换为字节数组

java - 尝试在我的 Spring 项目中获取 InputStream 时出现 Http 502 错误