从jdk1.4开始,java核心包里已经提供对crc计算的支持。这里给出一个简单的例子,希望对你有所帮助。
import java.util.zip.CRC32;
import java.util.zip.CheckedInputStream;
import java.io.FileInputStream;
import java.io.File;
/**
*
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: www.jagie.com</p>
* @author Jaige
* @version 1.0
*/
public class FileToCRCUtil {
public static String getFileCRCCode(File file) throws Exception {
FileInputStream fileinputstream = new FileInputStream(file);
CRC32 crc32 = new CRC32();
for (CheckedInputStream checkedinputstream =
new CheckedInputStream(fileinputstream, crc32);
checkedinputstream.read() != -1;
) {
}
return Long.toHexString(crc32.getValue());
}
public static void main(String[] args) throws Exception {
File f=new File("c:\\YSFPCGL200311_237010400_JK.XML");
System.err.println(getFileCRCCode(f));
}
}
分享到:
相关推荐
CRC校验基于多项式除法,它将待校验的数据看作是二进制多项式的系数,然后用一个预定义的固定长度的多项式去除,得到的余数就是CRC校验码。在接收端,同样的过程会进行,如果余数不为零,则表明数据可能有误。 2. ...
1. **CRC32**:Java标准库中的`java.util.zip.CRC32`类可以用来计算CRC32校验码。它是一个长整型变量,通过对输入数据的每一位进行累加计算,最后得到的值就是CRC32校验码。 ```java CRC32 crc32 = new CRC32(); ...
这个"获取文件CRC32值的类"应该是Java或类似的面向对象语言中的一个工具类,用于计算文件的CRC32校验值。此类可能包含以下功能: 1. **初始化方法**:类的构造函数可能接受文件路径作为参数,以便于初始化并准备...
CRC16 MODBUS校验算法实现涉及到对数据进行特定的计算,以产生一个16位的校验码,这个校验码可以用于检查数据是否在传输过程中发生了错误。 1. CRC16原理 CRC16的核心在于一个称为生成多项式(Generator Polynomial...
在提供的压缩包中,`readme.txt`可能包含了关于如何使用CRC校验的说明,而`CRC`文件可能是一个示例代码或者已经计算好的CRC校验码。为了具体了解这些文件的内容,需要解压并查看其详细信息。在实际项目中,理解并...
标题提及了四种CRC类型:CRC8、CRC16、CRC-CCITT和CRC32,它们分别代表了不同宽度的CRC校验码: 1. **CRC8**:这是一种8位的CRC校验,适用于校验较短的数据块。它使用一个8位的生成多项式,计算过程相对简单,常...
例如,ZIP和RAR文件格式使用CRC32来验证文件的完整性,TCP/IP协议栈中的IP和以太网帧也使用CRC校验来检测传输错误。 总的来说,CRC32在Java中的实现简单而高效,通过`CRC32`类提供的API,我们可以方便地为数据添加...
首先创建`CRC32`实例,然后调用`update()`方法将数据逐字节或逐块传递给它,最后通过`getValue()`方法获取CRC校验码。 ```java CRC32 crcCalculator = new CRC32(); byte[] data = ... // 待校验的数据 ...
8. **CRC32**: ZIP文件格式使用CRC32(Cyclic Redundancy Check)校验码来验证数据的完整性。在Java中,CRC32类可以计算一个数据流的CRC值,这对于验证ZIP条目是否损坏非常有用。 9. **压缩级别和方法**: 在创建...
接下来是CRC32速度优化工具类,CRC32(Cyclic Redundancy Check)也是一种校验码,常用于检测数据传输中的错误。优化版可能通过并行计算或位运算提高计算速度,对于大量数据的处理具有更高的效率。 XML工具类是处理...
此方法用于计算一个`byte`数组的CRC16校验码。 **实现步骤:** 1. **定义**CRC16校验表。 2. **初始化**校验值为某个预设值。 3. **循环遍历**数据中的每个字节。 4. **更新**校验值。 5. **返回**最终的CRC16校验...
4. 将这个余数作为CRC校验码附加到原始数据的末尾,形成完整的数据包。 5. 接收方接收到数据后,同样使用生成多项式对数据进行模2除法,如果余数为零,则数据被认为无误;若有非零余数,则表示数据在传输或存储过程...
### Java算法知识点详解 ...这些知识点不仅涵盖了基础的数据类型转换、时间处理、文件操作,还包括了高级的主题如CRC校验码的生成和图形用户界面的构建。这些内容对于Java开发者来说是非常实用且有价值的。
在AcuRF这个文件中,很可能是包含了一个或多个实现上述功能的Java类或项目示例。你可以通过查看源代码学习如何在实际项目中整合Java串行通信和Modbus协议,包括如何设置串口参数(波特率、数据位、停止位、校验方式...
《JAVA开发JAVA局域网飞鸽传书软件设计与实现》是针对局域网内文件传输的软件项目,它利用Java编程语言进行开发,旨在提供一个高效、便捷的文件分享平台。本文将深入探讨该软件的设计理念、实现原理以及关键技术。 ...
Header包含一个字节的magic字段(标识文件格式)和四个字节的CRC32校验码,用于检查消息体的完整性。如果magic值为1,Header还会有一个attributes字段,存储关于消息压缩等的属性。Body则包含实际的key/value消息...
标题“LinkLayerModelJAVA_java_”暗示我们正在讨论一个与Java编程相关的项目,可能是关于网络协议的Link Layer模型实现。这个项目的重点可能在于利用Java语言来构建或模拟数据链路层的功能,数据链路层是OSI(开放...
为了提高代码的可读性和复用性,可以将解析逻辑封装到一个类或多个类中,如`EthernetFrame`、`MACAddress`等。此外,还可以利用现有的网络协议库,如Apache Mina或Netty,它们提供了更高级别的抽象,可以简化网络...
2. 错误检测与恢复:通过校验码如CRC或MD5来检测数据完整性,确保文件无损传输。 3. 速度优化:使用合适的缓冲大小、并行传输策略等方法提升文件传输速率。 六、论文结构 该毕业论文可能涵盖了上述所有知识点,并...
MD5(Message-Digest Algorithm 5)哈希算法是一种广泛使用的加密散列函数,产生一个128位(16字节)的散列值,通常以32个十六进制数字的形式表示。这种算法的主要用途是用于数据的完整性验证,确保数据在传输或存储...