1.Mavne项目首先集成相应的jar包
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.0.0</version>
</dependency>
2.生成二维码的具体代码示例:
//定义扫描二维码要跳转的链接地址,这里以百度为例
String urlPath = "www.baidu.com";
//定义二维码图片名称
String fileName = "baidu.png";
//存放二维码路径
String savePath = "D:\\file\\picture";
try {
//调用生成二维码方法前需要判断存放二维码的路径是否存在,不存在则新建,如果路径不存在直接在该路径下生成二维码会报错
File f = new File(savePath);
if (!f.exists()) {
f.mkdirs();
}
File file = new File(savePath,fileName);
if(!file.exists()){
//生成二维码方法
QRCodeGenerator.generateQRCodeImage(urlPath, 350, 350, savePath+"\\" +fileName);
}
} catch (WriterException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
3.上述代码中定义的生成二维码的QRCodeGenerator类:
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.FileSystems;
import java.nio.file.Path;
public class QRCodeGenerator {
/**
* 生成二维码方法
* @param text 二维码中携带的url链接地址
* @param width 二维码图片宽度
* @param height 二维码图片高度
* @param filePath 二维码图片保存路径及图片名称
* @return void
*/
public 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 = FileSystems.getDefault().getPath(filePath);
MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);
}
}