博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解析文件夹下的所有二维码,并输出二维码中的信息
阅读量:5142 次
发布时间:2019-06-13

本文共 2850 字,大约阅读时间需要 9 分钟。

package com.example.jinshui.test;import jp.sourceforge.qrcode.QRCodeDecoder;import javax.imageio.ImageIO;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;//解析全部文件夹下的二维码public class FileTest {    public static void main(String[] args) throws IOException {        String path="C:\\Users\\huang\\Documents\\WeChat Files";        File file=new File(path);        File[] fileList = file.listFiles();        System.out.println("该目录下对象个数:"+fileList.length);        for (int i = 0; i < fileList.length; i++) {            if (fileList[i].isFile()) {                //文件的完整路径和文件名                System.out.println("文件:"+fileList[i]);                //读取                BufferedImage bufferedImage = ImageIO.read(fileList[i]);                //QRCode解码器                QRCodeDecoder codeDecoder = new QRCodeDecoder();                /**                 *codeDecoder.decode(new MyQRCodeImage())                 *这里需要实现QRCodeImage接口,然后解析出二维码的信息                 */                //通过解析二维码获得信息                String result = new String(codeDecoder.decode(new ImageQRCode(bufferedImage)), "utf-8");                System.out.println(result);            }            if (fileList[i].isDirectory()) {                System.out.println("文件夹:"+fileList[i]);            }        }    }} 

 

 

package com.example.jinshui.test;import jp.sourceforge.qrcode.data.QRCodeImage;import java.awt.image.BufferedImage;/** * 调用QRCodeImage接口, * 设置解码的图片信息 * 告诉codeDecoder.decode()将要解析的图片类型 */public class ImageQRCode implements QRCodeImage{    BufferedImage bufferedImage;    public ImageQRCode(BufferedImage bufferedImage){        this.bufferedImage=bufferedImage;    }    //宽    @Override    public int getWidth() {        return bufferedImage.getWidth();    }    //高    @Override    public int getHeight() {        return bufferedImage.getHeight();    }    //像素还是颜色    @Override    public int getPixel(int i, int j) {        return bufferedImage.getRGB(i,j);    }}

 

package com.example.jinshui.test;import jp.sourceforge.qrcode.QRCodeDecoder;import javax.imageio.ImageIO;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;public class OneReadQRCode {    //单张图片解析    public static void main(String[] args) throws IOException {        //图片路径        File file = new File("C:\\Users\\huang\\Documents\\WeChat Files\\二维码文件-01.png");        //读取图片到缓冲区        BufferedImage bufferedImage = ImageIO.read(file);        //QRCode解码器        QRCodeDecoder codeDecoder = new QRCodeDecoder();        /**         *codeDecoder.decode(new MyQRCodeImage())         *这里需要实现QRCodeImage接口,移步最后一段代码         */        //通过解析二维码获得信息        String result = new String(codeDecoder.decode(new ImageQRCode(bufferedImage)), "utf-8");        System.out.println(result);    }}

 

QRCode包下载地址:

主要为了记录和方便以后查找。

 

转载于:https://www.cnblogs.com/tpgj/p/9892535.html

你可能感兴趣的文章
nginx 不带www到www域名的重定向
查看>>
记录:Android中StackOverflow的问题
查看>>
导航,头部,CSS基础
查看>>
[草稿]挂载新硬盘
查看>>
[USACO 2017 Feb Gold] Tutorial
查看>>
关于mysql中GROUP_CONCAT函数的使用
查看>>
OD使用教程20 - 调试篇20
查看>>
Java虚拟机(JVM)默认字符集详解
查看>>
Java Servlet 过滤器与 springmvc 拦截器的区别?
查看>>
(tmp >> 8) & 0xff;
查看>>
linux命令之ifconfig详细解释
查看>>
NAT地址转换
查看>>
Nhibernate 过长的字符串报错 dehydration property
查看>>
Deque - leetcode 【双端队列】
查看>>
gulp插件gulp-ruby-sass和livereload插件
查看>>
免费的大数据学习资料,这一份就足够
查看>>
clientWidth、clientHeight、offsetWidth、offsetHeight以及scrollWidth、scrollHeight
查看>>
企业级应用与互联网应用的区别
查看>>
itext jsp页面打印
查看>>
Perl正则表达式匹配
查看>>