几行代码搞定java生成解析二维码功能

原创 2015年07月10日 11:17:56

最近公司要求扫描二维码和生成二维码的功能。而群里部分网友也提到了。我这里就写了一个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.  高密度编码,信息容量大 可容纳...
  • about58238
  • about58238
  • 2012年04月24日 17:29
  • 76490

Java实现二维码生成的几个方法

1、支持QRcode、ZXing 二维码生成、解析; 2、QRCode 方式生成二维码支持添加图片,如下: package common; import java.awt.C...
  • u014266877
  • u014266877
  • 2016年12月15日 09:45
  • 18457

java解析与生成二维码图片源代码下载

  • 2017年01月11日 16:19
  • 4.51MB
  • 下载

Java 利用google.zxing类生成的BitMatrix二维码添加logo图标

Java 利用google.zxing类生成的BitMatrix二维码添加logo图标
  • qq_18252605
  • qq_18252605
  • 2017年07月18日 09:28
  • 1306

java二维码生成与解析代码实现

  • 2013年03月06日 17:26
  • 1.05MB
  • 下载

java实现二维码生成的几个方法

1: 使用SwetakeQRCode在Java项目中生成二维码 http://swetake.com/qr/ 下载地址 或着http://sourceforge.jp/projects/qrc...
  • feiyu84
  • feiyu84
  • 2013年06月13日 20:32
  • 175287

java 二维码原理以及用java实现的二维码的生成、解码

QR码生成原理(一) 一、什么是QR码 QR码属于矩阵式二维码中的一个种类,由DENSO(日本电装)公司开发,由JIS和ISO将其标准化。QR码的样子其实在很多场合已经能够被看到了,我这还...
  • hanmengaidudu
  • hanmengaidudu
  • 2016年05月21日 09:31
  • 4548

java生成和解析二维码demo源码

  • 2015年03月30日 11:08
  • 5.01MB
  • 下载

java二维码生成与解析代码实现 .

二维码,是一种采用黑白相间的平面几何图形通过相应的编码算法来记录文字、图片、网址等信息的条码图片。如下图 二维码的特点: 1.  高密度编码,信息容量大 可容纳多达1850个大写字母或271...
  • nmgchfzhzhg
  • nmgchfzhzhg
  • 2013年01月09日 09:10
  • 3214

java代码实现二维码图片的生成和解析

2015年什么最火,二维码,2016年随处可见的是什么,二维码。二维码的历史我们就不探究了,今天分享的是利用Java代码实现二维码的生成和解析。Java代码生成和解析二维码涉及到的东西比较多,还需要引...
  • qq_29663071
  • qq_29663071
  • 2017年04月23日 11:39
  • 531
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:几行代码搞定java生成解析二维码功能
举报原因:
原因补充:

(最多只允许输入30个字)