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:\\Test\\img\\p1.jpg";
String path2="C:\\Test\\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.

