Java生成和解析二维码工具类

开箱即用,简单不废话。

pom.xml引入依赖

<!-- https://mvnrepository.com/artifact/com.google.zxing/core -->
<dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.3.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.zxing/javase -->
<dependency><groupId>com.google.zxing</groupId><artifactId>javase</artifactId><version>3.3.2</version>
</dependency>

编写二维码读写工具类

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.util.HashMap;import javax.imageio.ImageIO;import com.google.zxing.BarcodeFormat;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.NotFoundException;
import com.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.common.HybridBinarizer;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;/*** 二维码生成解析工具类*/
public class  QrCodeUtils{public static final int WIDTH = 300;//二维码宽度public static final int HEIGHT = 300;//二维码高度public static final String FORMAT = "png";//图片格式public static final String CHARTSET = "utf-8";//字符集格式/*** 生成二维码* @param filePath 图片保存地址* @param contents 二维码内容*/public static void createQRcode(String filePath, String contents) {/*** 如果用的jdk是1.9,需要配置下面这一行。*///System.setProperty("java.specification.version", "1.9");HashMap<EncodeHintType, Object> hints = new HashMap<>();hints.put(EncodeHintType.CHARACTER_SET, CHARTSET);hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);hints.put(EncodeHintType.MARGIN, 2);try {BitMatrix bitMatrix = new MultiFormatWriter().encode(contents, BarcodeFormat.QR_CODE, WIDTH, HEIGHT, hints);Path file = new File(filePath).toPath();MatrixToImageWriter.writeToPath(bitMatrix, FORMAT, file);} catch (Exception e) {e.printStackTrace();}}/*** 读取二维码* @param filePath 二维码图片地址* @return*/public static Result getQRresult(String filePath) {/*** 如果用的jdk是1.9,需要配置下面这一行。*///System.setProperty("java.specification.version", "1.9");Result result = null;try {File file = new File(filePath);BufferedImage bufferedImage = ImageIO.read(file);BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(bufferedImage)));HashMap hints = new HashMap<>();hints.put(EncodeHintType.CHARACTER_SET, CHARTSET);result = new MultiFormatReader().decode(bitmap, hints);} catch (NotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return result;}/*** 测试方法*/public static void main(String[] args) {//测试生成二维码QrCodeUtils.createQRcode("d://test.png","http://www.baidu.com");//测试解析二维码内容Result qRresult = QrCodeUtils.getQRresult("d://test.png");//码内容System.out.println(qRresult.getText());//码类型System.out.println(qRresult.getBarcodeFormat());}
}

求关注~~~

点关注不迷路,喜欢的朋友们关注支持一下
给点继续写的动力,感谢!!

Java生成和解析二维码工具类(简单经典)相关推荐

  1. java生成以及解析二维码

    java生成以及解析二维码 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 ...

  2. Java生成和解析二维码

    前言:曾经有做过不少微信公众号和移动网站的项目,对二维码还算有点了解,刚收到这个任务的时候就想着竟然要用二维码存文本,那就得先考究一下这小小的二维码到底能存多少的东西了. 需求:使用二维码存放文本(x ...

  3. java生成与解析二维码 支持插入图片与文字

    1.依赖: <!-- https://mvnrepository.com/artifact/com.google.zxing/core --><dependency><g ...

  4. java生成和解析二维码实战——QRCode

    直接上代码,以下程序可直接运行: package qrcode;import java.awt.Color; import java.awt.Graphics2D; import java.awt.i ...

  5. Java生成与解析二维码

    1.下载支持二维码的jar包qrcode.jar和qrcode_swetake.jar, 其中qrcode_swetake.jar用于生成二维码,rcode.jar用于解析二维码,jar包下载地址(免 ...

  6. 用 Java 生成和识别二维码就这么简单

    大家好,我是青空. 青空最近一直在思考一个问题,Java 能不能做一些比较有意思的事情,但是在网络上搜索的时候,有意思好玩的东西,都被 Python 给做了.Java 似乎就只剩下八股文,面试,框架, ...

  7. java 生成、解析二维码并在二维码中添加样式

    https://blog.csdn.net/yxj13935213026/article/details/81017902

  8. java利用zxing来生成和解析二维码,支持中文

    java在二维码的生成和解析上,网上有些人说如果要解析中文,得去修改工具包的Encoder类中的 static final String DEFAULT_BYTE_MODE_ENCODING = &q ...

  9. java生成二维码工具类

    1,先引入谷歌的插件zxing的maven坐标 <!-- 二维码 --><dependency><groupId>com.google.zxing</grou ...

最新文章

  1. 栈的push、pop序列
  2. CG笔记之一——透视投影
  3. fork和vfork,return和exit的理解
  4. 猫大叫,鼠速逃,人醒了
  5. python打开setting_Django自带日志 settings.py文件配置方法
  6. Redis Cluster集群模式
  7. Redis高效的数据结构及特殊性
  8. splay详解(三)
  9. COJ 1079 树上的查询 (离线LCA)
  10. memset初始化值的效率秒杀for循环
  11. IEC60958/61937协议
  12. VC2008+OpenCV2.3.1 的安装配置
  13. 状态栏RAT信号图标显示
  14. 【java注解--使用注解封装自动拼接sql 】
  15. Validation框架的应用
  16. linux和windows下分别如何查看电脑是32位的还是64位?
  17. PHP字符串函数strtoupper( 将字符串转化为大写)
  18. 可选操作(UnsupportedOperationException)
  19. 画洗碗机器人的思维导图_怎样用思维导图来协助家务整理?
  20. R语言进行线性回归的拟合度

热门文章

  1. 怎样有效的恢复电脑回收站文件丨有效数据有哪些
  2. 2021杭州恒生电子实习一面面经
  3. DAMA-第三章(数据治理)
  4. loki使用超详细说明
  5. linux有没有杀毒软件自动打补丁,在Linux下找杀毒软件简直是没事找事做
  6. 毫米波目标检测论文 阅读笔记 | Radar Transformer: An Object Classification Network Based on 4D MMW Imaging Radar
  7. 小米手机证书信任设置在哪里_小米手机 MIUI 12 测试新隐私保护:可设置每个应用是否允许访问相册和信息存储目录...
  8. 科技爱好者周刊(第 129 期):创业的凸函数和凹函数
  9. eclipse安装插件配置Android开发环境
  10. 达索系统仿真Simulia——BMW宝马案例学习 | 达索系统百世慧®