一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java實現的生成二維碼和解析二維碼URL操作示例

Java實現的生成二維碼和解析二維碼URL操作示例

2021-05-17 14:22Rest探路者 Java教程

這篇文章主要介紹了Java實現的生成二維碼和解析二維碼URL操作,結合實例形式分析了Java創建與解析二維碼,以及文件讀寫等相關操作技巧,需要的朋友可以參考下

本文實例講述了java實現的生成二維碼和解析二維碼url操作。分享給大家供大家參考,具體如下:

二維碼依賴jar包,zxing

?
1
2
3
4
5
6
<!-- 二維碼依賴 start -->
<dependency>
  <groupid>com.google.zxing</groupid>
  <artifactid>javase</artifactid>
  <version>3.0.0</version>
</dependency>

createqrcode生成二維碼,anlysisqrcode解析二維碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package com.xgt.util;
import com.google.zxing.*;
import com.google.zxing.client.j2se.bufferedimageluminancesource;
import com.google.zxing.client.j2se.matrixtoimagewriter;
import com.google.zxing.common.bitmatrix;
import com.google.zxing.common.hybridbinarizer;
import com.google.zxing.qrcode.decoder.errorcorrectionlevel;
import org.apache.commons.io.ioutils;
import org.slf4j.logger;
import org.slf4j.loggerfactory;
import sun.misc.base64encoder;
import javax.imageio.imageio;
import java.awt.image.bufferedimage;
import java.io.*;
import java.nio.file.path;
import java.util.hashtable;
public class qrcodeutil {
  private static final logger logger = loggerfactory.getlogger(qrcodeutil.class);
  /**
   * 創建二維碼
   * @param url
   * @param filename
   * @return
   * @throws ioexception
   */
  public static string createqrcode(string url,string filedirectory,string filename) throws ioexception {
    int width = 500;
    int height = 500;
    string format = "png";
    hashtable hints = new hashtable();
    hints.put(encodehinttype.character_set, "utf-8");
    hints.put(encodehinttype.error_correction, errorcorrectionlevel.m);
    hints.put(encodehinttype.margin, 2);
    try {
      bitmatrix bitmatrix = new multiformatwriter().encode(url, barcodeformat.qr_code, width, height, hints);
      file filedir = new file(filedirectory);
      filetoolutil.judedirexists(filedir);
      path file = new file(filedirectory,filename+".png").topath();//在d盤生成二維碼圖片
      matrixtoimagewriter.writetopath(bitmatrix, format, file);
      bufferedimage image = matrixtoimagewriter.tobufferedimage(bitmatrix);
      bytearrayoutputstream os = new bytearrayoutputstream();//新建流。
      imageio.write(image, format, os);//利用imageio類提供的write方法,將bi以png圖片的數據模式寫入流。
      byte b[] = os.tobytearray();//從流中獲取數據數組。
      string str = new base64encoder().encode(b);
      ioutils.closequietly(os);
      return str;
    } catch (exception e) {
      // todo auto-generated catch block
      e.printstacktrace();
    }finally {
      //deletefileutil.delete(filedirectory);
    }
    return "null";
  }
  /**
   * 解析出二維碼的url
   * 無用
   * @param file
   * @param filedirectory
   * @throws notfoundexception
   */
  public static void anlaysisqrcode(file file,string filedirectory) throws notfoundexception {
    multiformatreader formatreader=new multiformatreader();
    bufferedimage image=null;
    try {
      image = imageio.read(file);
    binarybitmap binarybitmap =new binarybitmap(new hybridbinarizer(new bufferedimageluminancesource(image)));
    hashtable hints=new hashtable();
    hints.put(encodehinttype.character_set, "utf-8");
    result result=formatreader.decode(binarybitmap,hints);
    logger.info("解析結果:"+result.tostring());
    logger.info("解析格式:"+result.getbarcodeformat());
    } catch (ioexception e) {
      // todo auto-generated catch block
      e.printstacktrace();
    }finally {
      deletefileutil.delete(filedirectory);
    }
  }
}

希望本文所述對大家java程序設計有所幫助。

原文鏈接:http://www.cnblogs.com/Java-Starter/p/9283513.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: a人片| 精精国产www视频在线观看免费 | 精品久久一区 | 国产网站免费观看 | 欧美成人二区 | 好爽好舒服视频 | 草逼网站视频 | 亚洲无线一二三四区 | 波多野结衣被绝伦强在线观看 | 色男人的天堂久久综合 | 美女靠逼动漫 | 亚洲一区二区三区在线播放 | 国产欧美一区二区精品性色99 | 国产大片视频免费观看 | 人皮高跟鞋在线观看 | 国产精品久久久久久久久免费 | 国产一区二区三区日韩 | 久久精品国产只有精品 | 免费在线中文字幕 | 男人肌肌捅女人肌肌 | 日本在线亚州精品视频在线 | 3x3x3x短视频在线看 | 色视频综合 | 久久中文字幕综合不卡一二区 | 日韩亚洲人成在线综合 | 国产精品免费精品自在线观看 | 国产欧美二区三区 | 99精品国产高清自在线看超 | 日本高清视频网站 | 欧美成人福利视频 | 99夜色| 免费观看欧美成人h | 高跟丝袜hdvideossex | 国产绳艺在线播放 | 久久久久琪琪精品色 | 草莓视频深夜释放 | 国产99热99 | 国产玖玖在线观看 | 国产免费一区二区三区免费视频 | 精品国产福利片在线观看 | 亚洲一区二区日韩欧美gif |