package com.dc.test; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; import javax.imageio.ImageIO; import javax.swing.filechooser.FileSystemView; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter; import com.google.zxing.common.BitMatrix; /* ****************** 类说明 ********************* * class : QrCodeUtil * @author : ncc * create time : 2018-3-29 下午06:17:11 * @version : 1.0 * description : * @see : * ************************************************/ public class QrCodeUtil { public static void main(String[] args) { String url = "weixin://wxpay/bizpayurl?pr=rBtNaVe"; String path = FileSystemView.getFileSystemView().getHomeDirectory() + File.separator + "testQrcode"; String fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".jpg"; createQrCode(url, path, fileName); } /* ******************************************** * method name : createQrCode * description : 根据链接生成二维码 * @return : String * @param : @param url * @param : @param path * @param : @param fileName * @param : @return * modified : ncc , 2018-3-29 * @see : * ********************************************/ public static String createQrCode(String url, String path, String fileName) { try { Map<EncodeHintType, String> hints = new HashMap<EncodeHintType, String>(); hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); BitMatrix bitMatrix = new MultiFormatWriter().encode(url, BarcodeFormat.QR_CODE, 500, 500, hints); File file = new File(path, fileName); if (file.exists() || ((file.getParentFile().exists() || file.getParentFile().mkdirs()) && file.createNewFile())) { writeToFile(bitMatrix, "jpg", file); System.out.println("文件路径:" + file); } } catch (Exception e) { e.printStackTrace(); } return null; } /* ******************************************** * method name : writeToFile * description : 写文件 * @return : void * @param : @param matrix * @param : @param format * @param : @param file * @param : @throws IOException * modified : ncc , 2018-3-29 * @see : * ********************************************/ static void writeToFile(BitMatrix matrix, String format, File file) throws IOException { BufferedImage image = toBufferedImage(matrix); if (!ImageIO.write(image, format, file)) { throw new IOException("Could not write an image of format " + format + " to " + file); } } /* ******************************************** * method name : writeToStream * description : 写入流 * @return : void * @param : @param matrix * @param : @param format * @param : @param stream * @param : @throws IOException * modified : ncc , 2018-3-29 * @see : * ********************************************/ static void writeToStream(BitMatrix matrix, String format, OutputStream stream) throws IOException { BufferedImage image = toBufferedImage(matrix); if (!ImageIO.write(image, format, stream)) { throw new IOException("Could not write an image of format " + format); } } private static final int BLACK = 0xFF000000; private static final int WHITE = 0xFFFFFFFF; /* ******************************************** * method name : toBufferedImage * description : 将字节码转换为文件 * @return : BufferedImage * @param : @param matrix * @param : @return * modified : ncc , 2018-3-29 * @see : * ********************************************/ private static BufferedImage toBufferedImage(BitMatrix matrix) { int width = matrix.getWidth(); int height = matrix.getHeight(); BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE); } } return image; } }
依赖jar包见qrcode.rar
工具类见 QrCodeUtil.rar
相关推荐
总之,Java提供了一套完善的工具库,如`zxing`,使得我们可以轻松地根据网站链接URL生成二维码,并将结果保存到本地文件系统。这在移动设备上分享链接、创建应用快捷方式等方面具有极大的便利性。
在Java开发中,生成二维码和将二维码转换为Base64字符串是常见的需求,尤其是在与前端交互时。这个项目提供了一种方便的方式,通过Maven依赖来实现这些功能,并且包括了一个工具类,使得操作更加简单易用。接下来,...
Java 实现生成二维码和解析二维码 URL 操作示例 Java 是一种广泛使用的编程语言,具有强大的功能和灵活性。在实际应用中,生成二维码和解析二维码 URL 是非常常见的操作。本文将详细介绍 Java 实现生成二维码和解析...
在Java编程环境中,生成二维码是一项常见的任务,尤其在移动应用、数据交换和信息展示等领域有着广泛的应用。要实现这个功能,通常需要引入第三方库。在这个压缩包中,包含了一个名为"demo"的示例文件,这很可能是...
本教程将详细介绍如何在Java中指定URL地址生成二维码,并实现去白边、添加水印以及添加圆形或方形的Logo功能。以下是一个详尽的步骤说明: 1. **引入依赖** 要在Java中生成二维码,首先需要引入相关库,例如`...
Java GUI生成二维码是一种在Java平台上使用图形用户界面(GUI)创建和显示二维码的技术。二维码,全称为二维条形码,是一种高效的信息编码方式,能够存储大量数据,如文本、URL、联系信息等,并且可以被智能手机等...
在Java编程环境中,生成二维码并将其保存到本地是一项常见的任务,尤其在移动互联网应用、数据交换和物联网场景中。二维码(Quick Response Code)作为一种高效的信息载体,能够存储大量的文本、URL或其他数据,便于...
除了ZXing,Java QRCode Generator是一个轻量级的库,专门用于生成二维码,它的API更简洁,适合对性能要求不高的场景。开发者可以通过简单的几行代码就能生成二维码。 此外,为了使二维码更具个性化,开发者还可以...
通过以上步骤,我们可以实现一个功能,即在Web项目中为Java类生成二维码图片,使移动端用户可以通过扫描轻松获取和预览相关信息。这个过程结合了二维码技术、Java编程、Web开发以及移动端交互等多个领域的知识。
在Java中,生成二维码是一项常见的任务,尤其在移动应用、物联网设备和数据交换等领域。ZXing(Zebra Crossing)是一个流行的开源库,用于读取和生成多种条码和二维码,包括QR码。本篇文章将深入探讨如何使用Java和...
本文将详细探讨如何根据信息生成二维码以及相关的Web接口。 首先,生成二维码的过程通常涉及到以下几个步骤: 1. **选择编码格式**:二维码可以编码多种类型的数据,如文本、URL、电话号码、电子邮件等。不同的...
在Java开发中,生成二维码是一项常见的任务,尤其是在移动互联网应用中。`ZXing`(Zebra Crossing)是一个开源的二维码和条形码处理库,它提供了多种格式的编码和解码功能。本教程将深入讲解如何使用ZXing库在Java...
1. **内容输入**:确定你要生成二维码的内容,可以是纯文本、URL、电子邮箱地址、电话号码、地理位置等。 2. **选择工具**:使用二维码生成器,输入或粘贴你的内容,根据需要设置二维码的样式和参数。 3. **生成...
Java代码生成二维码是一种常见的编程任务,特别是在移动应用开发、数据编码和信息传递中。这个压缩包文件"java代码生成二维码.zip"显然包含了实现这一功能的Java源代码和可能的依赖库。下面将详细介绍如何在Java中...
通过这个"java解析与生成二维码"的源代码,开发者可以快速理解和应用到自己的项目中。 首先,我们需要了解二维码(Quick Response Code)是一种二维条形码,能够存储更多的信息,如文本、URL、联系人信息等。Java中...
以下是一个简单的Java代码示例,展示如何使用ZXing库生成二维码: ```java import com.google.zxing.*; import com.google.zxing.common.BitMatrix; import com.google.zxing.qrcode.QRCodeWriter; import ...
- `java使用qrCode生成二维码实例`:可能是一个Java类,包含了实际生成二维码的逻辑,包括编码、设置Logo和生成Bitmap的过程。 通过学习这个实例,开发者可以了解如何在Android应用中集成二维码生成功能,并且掌握...