Java对文件CRC32值计算

JSON 2016-08-22 16:30:12 15767

CRC  即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查( CRC  )是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.zip.CRC32;
import java.util.zip.CheckedInputStream;
/**
 * 
 * 开发公司:sojson.com
* 版权:sojson.com

* CRC生成 * * 区分 责任人 日期    说明
* 创建 周柏成 2016年4月10日   * @author zhou-baicheng * @email json@sojson.com * @version 1.0,2016年4月10日 * */ public class CRCUtils { public static String loadCRC32(String filePath) { CRC32 crc32 = new CRC32(); FileInputStream inputStream = null; CheckedInputStream checkedinputstream = null; String crcStr = null; try { inputStream = new FileInputStream(new File(filePath)); checkedinputstream = new CheckedInputStream(inputStream, crc32); while (checkedinputstream.read() != -1) { } crcStr = Long.toHexString(crc32.getValue()).toUpperCase(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (inputStream != null) { try { inputStream.close(); } catch (IOException e2) { e2.printStackTrace(); } } if (checkedinputstream != null) { try { checkedinputstream.close(); } catch (IOException e) { e.printStackTrace(); } } } return crcStr; } public static void main(String[] args) { String path = "C:/Users/Administrator/Desktop/robots.txt"; System.out.println(loadCRC32(path)); } }

可以直接运行。


版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/113.html

转载时必须以链接形式注明原始出处及本声明。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

关于作者
一个低调而闷骚的男人。
相关文章
Java有序读取配置文件,有序读取ini配置文件
Java运算符
Java运算符
Linux—文件
万年历—Java计算母亲节是哪天?母亲节是哪一天? 2017年母亲节是哪一天?
掩码计算器原理?它是怎么计算的?
Java 之 HTTP请求乱码解决,GZIP 返回乱码解决
网站的pr是什么意思?
网站的pr是什么意思?
掩码计算器如何使用
最新文章
文件上传漏洞与防御 4058
前端构建工具选型指南:Webpack、Vite、Rollup、esbuild 深度对比 1444
物联网时代2026年时序数据库选型指南 1151
SaaS行业面临AI挑战:从“无限复用”到“灵活适应” 1269
神经网络:从构造到模型训练全链路解析 1168
一文吃透 Redis 核心存储结构:ziplist、listpack 与哈希表扩容 / 并发查询 1593
Linux sudo提权完整指南:从基础用法到生产级安全配置 691
XSS 和 CSRF 的本质区别及开发防御全解析 772
JVM垃圾回收(GC)全维度解析:从原理到调优实战 813
Linux动静态库与ELF加载全解析:从实操制作到底层原理 912
最热文章
免费天气API,天气JSON API,不限次数获取十五天的天气预报 783114
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 711464
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 679993
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 562673
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 512621
Elasticsearch教程(四) elasticsearch head 插件安装和使用 484794
Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据... ... 302947
Java 信任所有SSL证书,HTTPS请求抛错,忽略证书请求完美解决 247433
Elasticsearch教程(一),全程直播(小白级别) 233097
谈谈斐讯路由器劫持,你用斐讯路由器,你需要知道的事情 228329
支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...