java代码生成QRcode二维码

生成二维码的代码网上有很多,最近项目需要就实现了一次,在实际操作中也遇到了几个需要注意的问题,记录一下:

1.生成二维码使用的javase-3.0.0.jarcore-3.0.0.jar这两个jar包(当然还有其它的jar包也行,我用的是这个)

这两个jar包对jdk版本有要求:2.3版本需要使用jdk1.7,如果的是jdk1.7以下的,2.2版本是没问题的

本例使用的是3.0的包,jdk版本1.7
这是包的下载地址
https://repo1.maven.org/maven2/com/google/zxing/

 1 import java.io.File;
 2 import java.io.IOException;
 3 import java.io.PrintWriter;
 4 import java.nio.file.FileSystems;
 5 import java.nio.file.Path;
 6 import java.text.SimpleDateFormat;
 7 import java.util.Date;
 8 import java.util.UUID;
 9 
10 import com.google.zxing.BarcodeFormat;
11 import com.google.zxing.WriterException;
12 import com.google.zxing.client.j2se.MatrixToImageWriter;
13 import com.google.zxing.common.BitMatrix;
14 import com.google.zxing.qrcode.QRCodeWriter;     
15 private static void generateQRCodeImage(String text, int width, int height, String filePath) throws WriterException, IOException {
16  File file=new File("F:\\affix\\QRCode\\");
17         if(!file.exists()){//如果文件夹不存在
18             //file.mkdir();创建单个文件夹
19             file.mkdirs();//mkdirs创建多级文件夹
20         }
21          UUID   uuid = UUID.randomUUID();
22       String guid=uuid.toString();
23     String filePath="F:\\affix\\QRCode\\"+guid+".png";
24     System.out.println("************"+filePath);
25         try {
26         QRCodeWriter qrCodeWriter = new QRCodeWriter();
27         BitMatrix bitMatrix = qrCodeWriter.encode("二维码内容", BarcodeFormat.QR_CODE, 350, 350);
28         //这个java.nio.file.FileSystems必须在1.7以上才可以
29         Path path = FileSystems.getDefault().getPath(filePath);
30         MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);
31         } catch (WriterException e) {
32             System.out.println("未能正常生成二维码,WriterException :: " + e.getMessage());
33         } catch (IOException e) {
34             System.out.println("未能正常生成二维码, IOException :: " + e.getMessage());
35         }    
36 }
37 
38     public static void main(String[] args) {
39         try {
40             String QR_CODE_IMAGE_PATH = "d:\xxx";
41             generateQRCodeImage("This is my first QR Code", 350, 350, "QR_CODE_IMAGE_PATH");
42         } catch (WriterException e) {
43             System.out.println("Could not generate QR Code, WriterException :: " + e.getMessage());
44         } catch (IOException e) {
45             System.out.println("Could not generate QR Code, IOException :: " + e.getMessage());
46         }
47         
48     }            

 

上一篇:2020 年 Linus 有哪些引起“轰动”的时刻


下一篇:基于OpenCV+ZXing手工打造,FPS300+的二维码识别库