Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java 二维码生成

作者:◇梦◆饭饭   发布日期:2025-07-09   浏览:61

import com.google.zxing.BarcodeFormat;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;

import java.io.IOException;
import java.nio.file.FileAlreadyExistsException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class QRCodeGenerator {

    private static final String QR_CODE_IMAGE_PATH = "./MyQRCode.png";

    private static void generateQRCodeImage(String text, int width, int height, String filePath)
            throws WriterException, IOException {
        QRCodeWriter qrCodeWriter = new QRCodeWriter();
        BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height);

        Path path = Paths.get(filePath);
        MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);
    }

    public static void main(String[] args) {
        try {
            generateQRCodeImage("https://www.example.com", 350, 350, QR_CODE_IMAGE_PATH);
            System.out.println("QR Code generated successfully.");
        } catch (WriterException | IOException e) {
            System.err.println("Could not generate QR Code, WriterException :: " + e.getMessage());
        }
    }
}

解释说明

  1. 导入依赖:

    • com.google.zxing.BarcodeFormat: 定义了条码格式。
    • com.google.zxing.client.j2se.MatrixToImageWriter: 用于将二维码矩阵转换为图像。
    • com.google.zxing.common.BitMatrix: 表示二维码的位矩阵。
    • com.google.zxing.qrcode.QRCodeWriter: 生成二维码的核心类。
  2. generateQRCodeImage 方法:

    • 接受四个参数:要编码的文本、宽度、高度和输出文件路径。
    • 使用 QRCodeWriter 类生成二维码,并将其编码为位矩阵。
    • 使用 MatrixToImageWriter 将位矩阵写入指定路径的 PNG 文件中。
  3. main 方法:

    • 调用 generateQRCodeImage 方法生成二维码,并打印成功消息或异常信息。
  4. 注意事项:

    • 需要确保项目中包含 ZXing 库,可以通过 Maven 或 Gradle 添加依赖。
    • 生成的二维码图片会保存在当前目录下,路径为 ./MyQRCode.png

上一篇:java 验证码识别

下一篇:java volatile关键字

大家都在看

java连接数据库的代码

ubuntu 卸载java

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java实体类转json字符串

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站