<!--二维码生成和解析-->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.3.3</version>
</dependency>
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.io.File;
import java.util.HashMap;
import java.util.UUID;
public class CreateQRCode {
/**
* 生成纯二维码
*
* @param content 二维码内容
* @param filePath 路径
*/
public static String createCode(String content,String filePath){
//定义二维码的参数
HashMap hashMap = new HashMap();
hashMap.put(EncodeHintType.CHARACTER_SET, "utf-8"); //设置编码
hashMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M); //设置容错等级,等级越高,容量越小
hashMap.put(EncodeHintType.MARGIN, 2); //设置边距
//生成二维码
try {
//生成矩阵
// 内容 格式 宽 高
BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 300, 300, hashMap);
String codeName = UUID.randomUUID().toString().replace("-","").substring(0,8);// 二维码的图片名
String imageType = "jpg";// 图片类型
// D:xxx/xxx.jgp
File newFile = new File(filePath, codeName + "." + imageType);
File dir = newFile.getParentFile();
if (!dir.exists()) {
// 创建文件夹
dir.mkdirs();
}
// 创建文件
newFile.createNewFile();
MatrixToImageWriter.writeToFile(bitMatrix, imageType, newFile); //输出图像
return codeName+".jpg";
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
public static void main(String[] args) {
String codeName = createCode("https://blog.csdn.net/weixin_43652507?type=blog", "D:/QR_code");
System.out.println("生成二维码名称: "+codeName);
}
}