用于提供一个校验和计算的例子,如何使用该文件的CRC - 32校验引擎。
2015-02-27 16:31
507 查看
package util; 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; /** * @ClassName: ChecksumCRC32 * @Description: TODO(用于提供一个校验和计算的例子,如何使用该文件的CRC - 32校验引擎。) */ public class ChecksumCRC32 { private static void doChecksum(String fileName) { try { CheckedInputStream cis = null; long fileSize = 0; try { // Computer CRC32 checksum cis = new CheckedInputStream(new FileInputStream(fileName), new CRC32()); fileSize = new File(fileName).length(); } catch (FileNotFoundException e) { System.err.println("File not found."); System.exit(1); } byte[] buf = new byte[128]; while(cis.read(buf) >= 0) { } long checksum = cis.getChecksum().getValue(); System.out.println(checksum + " " + fileSize + " " + fileName); } catch (IOException e) { e.printStackTrace(); System.exit(1); } } public static long getByteCrc32(byte[] data){ CRC32 crc32 = new CRC32(); crc32.update(data); return crc32.getValue(); } /** * Sole entry point to the class and application. * @param args Array of String arguments. * @throws IOException * @throws FileNotFoundException */ public static void main(String[] args) throws FileNotFoundException, IOException { doChecksum("c://45.png"); CRC32 crc32 = new CRC32(); byte[] data = new byte[new FileInputStream("c://45.png").available()]; new FileInputStream("c://45.png").read(data); crc32.update(data); System.out.println(crc32.getValue()); } }
相关文章推荐
- 如何计算 一个音视频文件 (.ts)文件 (包含pcr信息). 播放所使用的带宽
- 如何计算 一个音视频文件 (.ts)文件 (包含pcr信息). 播放所使用的带宽
- 第二个例子展示了如何使用一个提供单接口的COM对象QueryInterface()函数
- 如何计算 一个音视频文件 (.ts)文件 (包含pcr信息). 播放所使用的带宽
- Java如何判断一个文件(夹)被重命名过,除了使用md5码校验?【版本控制】
- Rhino 是一个完全使用Java语言编写的开源JavaScript实现。Rhino通常用于在Java程序中,为最终用户提供脚本化能力。它被作为J2SE 6上的默认Java脚本化引擎。
- C语言学习笔记----伊能C语言学习笔记----如何在一个文件中使用另一个文件中定义的变量呢??
- 函数 Swift 使用函数多个返回值的特点完成一个count函数,该函数用于计算一个字符串中元音、辅音以及其他字母的个数。
- 如何创建一个静态库文件,并打包在模拟器和真机上都可以使用。
- 如何引用第三方提供的.so库文件以及如何使用javah生成.h文件
- 一个例子说明如何在DataSnap中使用FireDAC
- 使用xib文件和自定义类来实现自定义View(如何利用xib封装一个View)
- QT 如何实现使用 QPainter 的 drawPixmap() 函数将图片文件绘制到一个 QLabel、QPushButton 或者其他的一些设备上?
- 如何使用Fread和Fwrite写一个复制文件的函数
- 如何在 Linux 上使用 SSHfs 挂载一个远程文件系统
- 如何在 Linux 上使用 SSHfs 挂载一个远程文件系统
- [译]Android音频: 如何使用AudioTrack播放一个WAV格式文件?
- 在其他程序中如何使用FFMPEG 提供的lib dll文件
- 使用openssl中的加密函数AES、RC4、RSA对文件加密的一个例子
- 使用配置文件为购物车提供一个商品放置数据库