在上一篇博客(http://blog.csdn.net/u012453843/article/details/71453592)我们一起学习了用Java生成二维码,这篇博客我们一起学习下用zxing进行二维码解析。
新建一个类ReadQrCode,代码如下
package com.qrcode;import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;import javax.imageio.ImageIO;import com.google.zxing.BinaryBitmap;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.HybridBinarizer;public class ReadQrCode {public static void main(String[] args){MultiFormatReader multiFormatReader = new MultiFormatReader();//要解析的二维码所在的目录File file = new File("E:/code/qrcode.png");try {BufferedImage image = ImageIO.read(file);BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(image)));HashMap hints = new HashMap();hints.put(EncodeHintType.CHARACTER_SET, "utf-8");Result result = multiFormatReader.decode(binaryBitmap, hints);System.out.println("解析结果:"+result);System.out.println("二维码格式类型:"+result.getBarcodeFormat());System.out.println("二维码文本内容:"+result.getText());} catch (Exception e) {e.printStackTrace();}}
}
运行上面的方法,可以看到如下所示结果, 与生成的二维码信息完全一致!当然,这只是展示了二维码类型和内容,还有其他信息,大家可以自行研究了。