package com.imooc.qrcode; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.io.UnsupportedEncodingException; import javax.imageio.ImageIO; import jp.sourceforge.qrcode.QRCodeDecoder; import jp.sourceforge.qrcode.exception.DecodingFailedException; public class ReadQRCode { public static void main(String[] args) { File file = new File("/Users/chenhailong/Downloads/java/QRcodeImg.png"); BufferedImage bufferedImage; try { bufferedImage = ImageIO.read(file); QRCodeDecoder codeDecoder = new QRCodeDecoder(); String result; try { result = new String (codeDecoder.decode(new MYQRCodeImage(bufferedImage)),"gb2312"); System.out.println(result); } catch (DecodingFailedException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } catch (IOException e1) { e1.printStackTrace(); } } }
我也没发现我写的有啥问题。我写的时候哪里有问题 。异常都捕获了。
jp.sourceforge.qrcode.exception.DecodingFailedException: Give up decoding at jp.sourceforge.qrcode.QRCodeDecoder.decode(QRCodeDecoder.java:88) at com.imooc.qrcode.ReadQRCode.main(ReadQRCode.java:27)
也是这个问题?谁解决了
package com.imooc.qrcode; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import jp.sourceforge.qrcode.QRCodeDecoder; public class ReadQRCode { public static void main(String[] args) throws IOException { File file = new File("/Users/chenhailong/Downloads/java/QRcodeImg.png"); BufferedImage bufferedImage = ImageIO.read(file); QRCodeDecoder codeDecoder = new QRCodeDecoder(); String result = new String (codeDecoder.decode(new MYQRCodeImage(bufferedImage)),"gb2312"); System.out.println(result); } }
这样写 。还死活报那个错误
Exception in thread "main" jp.sourceforge.qrcode.exception.DecodingFailedException: Give up decoding at jp.sourceforge.qrcode.QRCodeDecoder.decode(QRCodeDecoder.java:88) at com.imooc.qrcode.ReadQRCode.main(ReadQRCode.java:18)