[java]用md5来判断两个文件是否完全相同

1.前言

  由于相比较两张图片是否是相同,如果通过像素点比较感觉速度比较慢,当很多图片进行比较时,效率就低很多了。由于每个文件md5基本上是唯一的,所用用获取文件的md5来判断是否相同文件。

2.代码如下:

import java.io.FileInputStream;
import java.io.IOException;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.io.IOUtils;

public class TestMd5 {

  public static void main(String[] args) throws IOException {
	// TODO Auto-generated method stub
	String path="C:\\Philips\\SIServer\\img\\p1.jpg";
	String path2="C:\\Philips\\SIServer\\img\\p2.jpg"; 

        FileInputStream fis= new FileInputStream(path);
        String md5 = DigestUtils.md5Hex(IOUtils.toByteArray(fis));
        IOUtils.closeQuietly(fis);
        System.out.println("p1_MD5:"+md5); 

        FileInputStream fis2= new FileInputStream(path2);
        String md52 = DigestUtils.md5Hex(IOUtils.toByteArray(fis2));
        IOUtils.closeQuietly(fis2);
        System.out.println("p2_MD5:"+md52); 

	}
}

执行后的log如下:

p1_MD5:699418360ea96b76c0d4cb701decd2e7
p2_MD5:699418360ea96b76c0d4cb701decd2e7

3.图片资源

link:p1.jpg p2.jpg is just rename p1.jpg.

时间: 2024-08-04 12:15:41

[java]用md5来判断两个文件是否完全相同的相关文章

java 判断两个文件是否相同

使用java 如何判断两个文件是否相同呢? 我的做法是 (1)先比较两个文件内容的长度: (2)在长度相同的情况下,再比较两个文件的MD5值. [create md5]按钮用于记录source file的文件内容长度和MD5值. 运行主类:CheckSameApp package com.hw.main; import java.awt.BorderLayout;import java.awt.Container;import java.awt.Dimension;import java.awt

使用JAVA实现比较两个文件夹下的文件新增和修改情况,并复制到新的目录(实现增量更新项目)

- 0x00 前言 之前工作的时候,经常会有客户提交BUG或者新增一个功能等需求.于是我就会在我本地修改代码,然后再打包替换客户的项目.比较麻烦的是,每次更新都需要去SVN看看都改了哪些文件,新增了哪些文件,一个一个去找,然后打包,给客户更新,有些时候一不小心就漏了或者搞错了,非常的烦.其实我一直都想做的事情就是,写一个程序,让程序去实现对比新旧两个项目,然后把新的项目多出来的文件或者变更过的文件复制出来,这样就能省去我好多工作,主要是不用人工一个个的去比对.. 太烦了. - 0x01 思路 1

获取文件的MD5值,比较两个文件是否完全相同

代码: public class MD5Test { public static void main(String[] args) { String s1 = MD5Test.MD5Operation(new File("E:/a.csv")); String s2 = MD5Test.MD5Operation(new File("E:/data/a.csv")); System.out.println(s1.equals(s2)); } public final

快速遍历对比两个文件下的md5值

[[email protected] Activity]# find /opt/xyrpg/rpgserver_s1/XMLData/Activity/ -type f -exec md5sum {} \;|sed 's/rpgserver_s1/rpgserver_s2/'|md5sum -c /opt/xyrpg/rpgserver_s2/XMLData/Activity/ActivityCondition.xml: FAILED /opt/xyrpg/rpgserver_s2/XMLDat

java.util.Arrays.sort两种方式的排序(及文件读写练习)

import java.io.*; import java.util.*; public class SortTest{ public static void main(String args[]) throws IOException, ClassNotFoundException { FileReader InWord = new FileReader(new File("words.txt")); BufferedReader in = new BufferedReader(In

比较两个文件文件可以使用MD5比较工具

举例来说,当我们对一个设备进行升级. 固件程序是一个文件,而我们发送的数据可以组成一个文档, 实质是把这两个文件拖入到下图中的工具中,查看一下MD5值.SHA1值.CRC32的值,如果值都一样说明这两个文件是一致的. (可以从网站上下载"MD5工具")

Java开发环境部署2.下载安装java jdk 2.1下载与安装 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载完后开始安装。注意,安装的路径不能变!!!反正笔者前两次改了安装路径都装不成。 JDK默认安装成功后,会在系统目录下出现两个文件夹,一个代表jdk,一个代表jre。

操作系统:win10 64biteclipse版本:Eclipse Mars (4.5),Eclipse IDE for Java EE DeveloperJava JDK版本:jdk-7u79-windows-x64SDK版本:24.4.1版ADT版本:23.0.4版 1.下载安装java jdk1.1下载与安装 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html JDK默认安装成功后,会在系统目录下出

h5棋牌源码租用Java的MD5加密和解密类

理解MD5MD5的应用非常广泛h5棋牌源码租用(h5.hxforum.com)联系170618633533企鹅2952777280(http://yhgj8004.com)源码出售 房卡出售 后台出租联系方式只有企鹅.例如我们在unix中下载某种软件时,常常会看到一个扩展名为.md5的文件,内容大概是:MD5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461这就是tanajiya.tar.gz文件的数字签名.因此当我们得到这个文件后,使用工

java实现md5加密

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2.MD3和MD4发展而来. 一.使用md5加密密码 我们先用java去实现md5加密密码,再去研究一下md5的原理以及他的优缺点. 1.新建MD5.java文件 package com.creditease.bixin.common.