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     }            

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM