最近公司要求扫描二维码和生成二维码的功能。而群里部分网友也提到了。我这里就写了一个demo,和大家分享。代码很简介,希望大家能够喜欢。

网友表示在网上搜索了很多,发现不是代码不全,就是jar不匹配。

我这里共享了一个zxing的2.2版本的例子,也提供了下载地址。实现代码如下:

package com.herman.test;import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;import javax.imageio.ImageIO;import com.google.zxing.BarcodeFormat;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.DecodeHintType;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.NotFoundException;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.HybridBinarizer;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;/*** 二维码工具类* @author Herman.Xiong* @date 2015-7-10 上午10:52:15* @version V3.0* @since jdk 1.6,tomcat 6.0*/
public class ZxingUtil {private static final Map<EncodeHintType, ErrorCorrectionLevel> encodeMap = new HashMap<EncodeHintType, ErrorCorrectionLevel>();private static final Map<DecodeHintType, ErrorCorrectionLevel> decodeMap=new HashMap<DecodeHintType, ErrorCorrectionLevel>();private static final String charset="UTF-8",format="png";private static final int size=150;private ZxingUtil() {}/*** 生成二维码图片* @author Herman.Xiong* @date 2015-7-10 上午10:26:33* @param file* @throws WriterException* @throws IOException*/public static void createQRCode(String data, File file)throws WriterException, IOException {MatrixToImageWriter.writeToFile(new MultiFormatWriter().encode(new String(data.getBytes(charset), charset),BarcodeFormat.QR_CODE, size, size, encodeMap), format, file);}/*** 读取二维码信息* @author Herman.Xiong* @date 2015-7-10 上午10:25:58* @param filePath 二维码图片路径* @return* @throws FileNotFoundException* @throws IOException* @throws NotFoundException*/public static String readQRCode(String filePath)throws FileNotFoundException, IOException, NotFoundException {return new MultiFormatReader().decode(new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(ImageIO.read(new FileInputStream(filePath))))),decodeMap).getText();}public static void main(String [] arg){try{createQRCode("http://blog.csdn.net/xmtblog", new File("D:\\111.png"));System.out.println(readQRCode("D:\\111.png"));//源码下载地址:http://download.csdn.net/detail/xmt1139057136/8886473//欢迎大家关注我的博客!如有疑问,请加QQ群:454796847共同学习!}catch(Exception e){e.printStackTrace();}}
}

运行效果如下:
欢迎大家关注我的博客!如有疑问,请加QQ群:454796847共同学习!

源码下载地址:http://download.csdn.net/detail/xmt1139057136/8886473

几行代码搞定java生成解析二维码功能相关推荐

  1. Java生成解析二维码

    Java生成二维码 一.介绍 1. 理解二维码 黑点代表二进制中的1,白点代表二进制中的0,通过1和0的排列组合,在二维空间记录数据.通过图像输入设备,读取其中的内容. 2. 二维码分类 二维码有不同 ...

  2. Java简单的生成/解析二维码(zxing qrcode)

    Hi I'm Shendi Java简单的生成/解析二维码(zxing qrcode) 在之前使用 qrcode.js 方式生成二维码,但在不同设备上难免会有一些兼容问题,于是改为后端(Java)生成 ...

  3. python myqr制作二维码生成器_用Python生成动态二维码,只要5行代码,拥有你的个性二维码!...

    原标题:用Python生成动态二维码,只要5行代码,拥有你的个性二维码! 前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. P ...

  4. java生成文字二维码、url二维码

    java生成文字二维码.url二维码 pom: 1)生成文字二维码 java工具类: 2)url地址生成二维码 java工具类: pom: <dependency><groupId& ...

  5. JAVA生成的二维码以及给二维码添加背景图片

    JAVA生成的二维码以及给二维码添加背景图片** 1.页面只需一行代码即可(用ajax请求得不到响应,也可以用表单提交) window.location.href = "${ctx}/qrc ...

  6. 用Python生成动态二维码,只要5行代码,拥有你的个性二维码!

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 ...

  7. java生成圆形二维码logo

    自定义生成二维码,可以根据自己的喜欢在二维码中添加图片.有些代码是参考网上某位大神的,如有相同之处,请给我留言,我加上您的名字或者不让参考发表,则可删除. jar提取地址: 链接: https://p ...

  8. Java生成PDF417二维码

    pdf417二维码,比较头疼,网上找老长时间的资料,最后翻出来了个Itext.jar,那么就简单的说说如何使用iText.jar生成pdf417二维码 1,老规矩下载jar文件,我的资源里有----- ...

  9. 你有没有使用java生成过二维码?(二)

    作者专注于Java.架构.Linux.小程序.爬虫.自动化等技术. 工作期间含泪整理出一些资料,微信搜索[程序员高手之路],回复 [java][黑客][爬虫][小程序][面试]等关键字免费获取资料.技 ...

最新文章

  1. 大牛带你深入SpringBoot:自定义Endpoint 及实现原理
  2. 操作系统:内存连续分配方式采用的几种算法及各自优劣
  3. synchronized 原理知多少
  4. PHP-CPP开发扩展(五)
  5. iOS-应用生命周期
  6. 2019.9.18最小生成树知识点总结
  7. python整形魔法_python 魔法方法
  8. system var mysql_MySQL 系统变量(system variables)
  9. Manjaro 安装 wiznote[解决:安装完成输入wiznote没有该命令]
  10. ghost版32位win10系统,win10系统下载地址
  11. 九行代码自动下载instagram原图
  12. 计算机符串长度的函数,常用字符串长度计算函数
  13. 网站被黑客攻击怎么办?
  14. 倍福PLC——ADS上位机通讯
  15. 国家一级职业资格证书 计算机类有哪些
  16. 整理一些简历制作、工作、面试、招聘网站资源分享
  17. 织梦data搬家后后台打开空白的解决方法
  18. 【Pandas】Pandas数据分类
  19. Python入门基础-六、案例3 基础代谢率(BMR)计算器 #Python中常用的数值类型#字符串分割与格式化输出#异常处理机制
  20. Levenberger-Marquardt for nonlinear elliptical system

热门文章

  1. 9.2NOIP模拟赛
  2. mysql 浮动ip_MySQL配置HeartBeat实现心跳监控和浮动IP
  3. 第二代计算机网络的贡献,在第二代计算机上,有操作系统支持其运行。
  4. 英雄联盟显示服务器属于高限制,英雄联盟最高等级有限制吗?英雄联盟等级最高是谁?...
  5. C语言小练习:输入一个字符串,内有数字和非数int字符,如a123x456,将其中连续的数作为一个整数,依次存放到整形数组a中。
  6. 【计算机网络】【自顶向下课后习题-4】
  7. STL纵谈——阅读的重要性
  8. 【计算机毕业设计】基于微信小程序的校园生活服务平台
  9. 红客突击队HSC-1th CTF大赛个人Writeup
  10. 江西医学院 招生 计算机专业,南昌大学江西医学院2021年招生录取分数线