1. 程式人生 > >[java]用md5來判斷兩個文件是否完全相同

[java]用md5來判斷兩個文件是否完全相同

tle name stub https pem puts 試用 多圖 ring

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.

技術分享

[java]用md5來判斷兩個文件是否完全相同