`
xfyzhy
  • 浏览: 15819 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

java判断两张图片是否相同

阅读更多
1.public static void main(String[] args){

String img1 = md5(getByte("d:/test.JPG"));
 String img2 = md5(getByte("d:/test1.JPG"));
 if (img1.equals(img2))
 System.out.println("两图片是一样的");
 else
 System.out.println("两图片是不一样的");

}


2./**
* 读取字节数
*
* @param name
* @return
*/
 public static byte[] getByte(String name) {
 // 得到文件长度
 File file = new File(name);
 byte[] b = new byte[(int) file.length()];
 System.out.println(file.length());
 try {
 InputStream in = new FileInputStream(file);
 try {
 in.read(b);
 System.out.println(in.read());
 } catch (IOException e) {
 e.printStackTrace();
 }
 } catch (FileNotFoundException e) {
 e.printStackTrace();
 return null;
 }
 return b;
 }
/**
* 加密
*
* @param s
* @return
*/
public static String md5(byte[] s) {
 // 16进制字符
 char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
 'a', 'b', 'c', 'd', 'e', 'f' };
 try {
 byte[] strTemp = s;
 MessageDigest mdTemp = MessageDigest.getInstance("MD5");
 mdTemp.update(strTemp);
 byte[] md = mdTemp.digest();
 int j = md.length;
 char str[] = new char[j * 2];
 int k = 0;
 // 移位 输出字符串
 for (int i = 0; i >> 4 & 0xf];
 str[k++] = hexDigits[byte0 & 0xf];
 }
 return new String(str);
 } catch (Exception e) {
 return null;
 }
 }
分享到:
评论

相关推荐

    java图像识别(判断两个图是否相似)

    java图像识别(判断两个图是否相似)! 资源很少。所以共享给大家;

    java课程设计 连连看

    通过JAVA编一个连连看程序,通过鼠标点击使相同两个图像消掉。程序 实现以下几个功能: 1、判断鼠标点击的两张图片...4、判断是否使用炸弹,炸弹剩余数目,自动生成路径消除两张相同图片; 5、判断剩余图片,是否胜利。

    java源码包---java 源码 大量 实例

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 内容...

    java源码包4

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 ...

    java源码包3

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 ...

    JAVA上百实例源码以及开源项目

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 内容...

    JAVA上百实例源码以及开源项目源代码

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 内容...

    java源码包2

    像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 ...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印...

    Java 21点扑克牌

    首先由电脑随机派两张牌给人类玩家(牌不能重复,牌的表示方式为 花色牌号,如红桃8),然后玩家通过自己判断再选择是否继续要牌。如果要,则继续随机派给玩家一张牌,若此时所有牌的点数之和大于21,则判断玩家为输...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印...

    JAVA程序设计_具有发牌洗牌功能的纸牌游戏

    每张牌都有花色和数字两个属性。纸牌游戏有2副牌参与(没有Joker,共104张), 应有洗牌(将所有牌打乱)、发5张牌、判断游戏胜利、判断游戏失败的功能。 每次发牌后程序自动为5张牌排序、游戏胜利条件为5张牌中至少...

    java面试题

    答:断言,可以将断言看成是异常处理的一种高级形式,可以用来判断某个特定的表达式或值是否为真。 接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类? 答:接口可以继承接口,抽象类可以...

    达内 coreJava 习题答案

    1,编写程序,判断给定的某个年份是否是闰年。 闰年的判断规则如下: (1)若某个年份能被4整除但不能被100整除,则是闰年。 (2)若某个年份能被400整除,则也是闰年。 import java.util.Scanner; class ...

    翻纸牌匹配游戏

    比较简单的翻纸牌匹配游戏,所有纸牌显示背面,点击时翻面,当连续点击两张为相同时,消去这两张牌,并加一分,当两张牌不同时,两张牌翻面,显示背面

    基于Java的连连看游戏设计与实现.docx

    连连看是一种消除类益智游戏,核心要求是在规定的时间内,消除游戏界面中选中的两张相同的图案,直至完全消除所有图案。这款游戏操作简单(只需单击鼠标左键操作)、面向人群广泛,在限时操作的游戏要求下,吸引玩家...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    所使用的应用服务器是jboss 5.1和weblogic 11g,详细介绍了这两种应用服务器的安装和使用,以及如何在两大主流服务器上安装、部署java ee应用。  本书内容主要包括三部分,第一部分介绍java ee开发的基础知识,...

    Java游戏之连连看小游戏实现+LW资源+开题+任务书+PPT+讲解视频

    连连看是一种消除类益智游戏,核心要求是在规定的时间内,消除游戏界面中选中的两张相同的图案,直至完全消除所有图案。这款游戏操作简单(只需单击鼠标左键操作)、面向人群广泛,在限时操作的游戏要求下,吸引玩家...

Global site tag (gtag.js) - Google Analytics