使用Java代码制作二维码(超级简单)

操作步骤

真的是灰常简单,导入三个jar包,十几行代码就搞定了。
源代码和jar包已经打包放在阿里云盘里面,文末有链接

import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;

import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

/**
 * @author: 邹祥发
 * @date: 2022/8/20 16:29
 * 制作二维码
 */
public class Code {
    public boolean CreateCode(String content, String path) throws Exception {
        int width = 300;
        int height = 300;
        String format = "jpg";
        Map<EncodeHintType, Object> map = new HashMap<>();
        map.put(EncodeHintType.CHARACTER_SET, "utf-8");
        //容错率等级L>M>Q>H,等级越高,所需要的扫描时间越长,但是准确率越高
        map.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
        map.put(EncodeHintType.MARGIN, 2);
        BitMatrix encode = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, map);
        Path path1 = FileSystems.getDefault().getPath(path);
        MatrixToImageWriter.writeToPath(encode, format, path1);
        return true;
    }

    public static void main(String[] args) throws Exception {
        //创建一个不会重复的UUID
        String uuid = UUID.randomUUID().toString();
        //去掉 - 并截取前8位
        String name = uuid.replace("-", "").substring(0, 8);
        //二维码存放的路径
        String path = "D:\\code\\" + name + ".jpg";
        //使用反射代替new关键字
        Class<?> code = Class.forName("Code");
        Code o = (Code) code.getDeclaredConstructor().newInstance();
        boolean b = o.CreateCode("https://www.hqxiaozou.top", path);
        if (b) {
            System.out.println("二维码创建成功!");
            System.out.println(path);
        } else {
            System.out.println("失败!");
        }
    }
}

注意:需要修改 boolean b = new Code().CreateCode("https://www.hqxiaozou.top", path);
中的代码,第一个参数改成你需要跳转的网页,或者写一段文字也可以。后面一个参数是二维码生成后保存的路径。

相关资料

jar包链接https://www.aliyundrive.com/s/fMDeMzXTFj2

你可能感兴趣的:(java,java,jvm,开发语言)