当前位置: 首页>编程语言>正文

java文本转二维码,使用hutool工具类

maven引用:

        <!--hutool工具包-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.16</version>
        </dependency>
        <!-- zxing生成二维码 -->
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>core</artifactId>
            <version>3.5.3</version>
        </dependency>
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>javase</artifactId>
            <version>3.5.3</version>
        </dependency>

配置引用hutool包里的QrConfig,可以自己设置大小等。

生成文件到本地:

    //生成到本地文件
    public static void generateFile(String content, File file){
        QrCodeUtil.generate(content, qrConfig, file);
    }

输出到流:

//输出到流
public static void generateStream(String content, OutputStream outputStream) {
    QrCodeUtil.generate(content,qrConfig,"png",outputStream);
}

输出Base64字符串:

//输出Base64字符串
    public static String generateBase64(String content) throws IOException {
        String temp = "tempFile"+Math.random()+".png";
        File tempFile = new File(temp);
        QrCodeUtil.generate(content, qrConfig, tempFile);
        // 引用形式的描述信息:读取流
        InputStream inputStream = new FileInputStream(temp);
        // 引用形式的描述信息:将流转成字节数组
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int len;
        while ((len = inputStream.read(buffer)) != -1) {
            byteArrayOutputStream.write(buffer, 0, len);
        }
        byte[] data = byteArrayOutputStream.toByteArray();
        // 引用形式的描述信息:使用Base64编码
        String base64Encoded = Base64.getEncoder().encodeToString(data);
        // 引用形式的描述信息:获取Base64字符串
//        System.out.println("Base64字符串:" + base64Encoded);
        //删除临时文件
        tempFile.delete();
        return base64Encoded;
    }

https://www.xamrdz.com/lan/5ky1933200.html

相关文章: