barcode方法Jar文件获取及导入:

方法1通过官网下载jar文件包。下载后,解压文件,并将lib文件夹下的Spire.Barcode.jar文件导入到java程序。参考如下导入效果:

方法2可以使用maven仓库安装导入。可参考导入方法

decode方法Jar文件获取及导入:

可以直接使用maven导入:

 <!--条形码扫描--><dependency><groupId>com.google.zxing</groupId><artifactId>javase</artifactId><version>3.3.3</version></dependency>

代码

import com.google.zxing.*;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.HybridBinarizer;
import com.spire.barcode.BarCodeType;
import com.spire.barcode.BarcodeScanner;import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;/*** @author Luo罗* @company Ytrees——野树* @date 2022/1/14 16:59* @Package PACKAGE_NAME* class*/
public class Test {public static void main(String[] args) {long startTime = System.currentTimeMillis(); // 获取开始时间SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式System.out.print("程序开始执行时间:");System.out.println(df.format(new Date()));// new Date()为获取当前系统时间try {barcode("C:\\Users\\Yeshu\\a.jpg");//decode("C:\\Users\\Yeshu\\c.jpg");//decode("C:\\Users\\Yeshu\\f.jpg");} catch (Exception e) {e.printStackTrace();}long endTime = System.currentTimeMillis(); // 获取结束时间System.out.print("程序结束执行时间:");System.out.println(df.format(new Date()));// new Date()为获取当前系统时间long l = endTime - startTime;double time = (l % (1000 * 60)) / 1000.0;System.out.println("程序总运行时间: " + time + "秒");}/*** 推荐使用* @param imgPath* @return String*/public static String decode(String imgPath) {try {System.out.println("使用 zxing 扫描");BufferedImage image = ImageIO.read(new File(imgPath));if (image == null) {return "";}LuminanceSource source = new BufferedImageLuminanceSource(image);BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));Map<DecodeHintType, Object> hints = new HashMap<>();hints.put(DecodeHintType.CHARACTER_SET, "GBK");hints.put(DecodeHintType.PURE_BARCODE, Boolean.TRUE);hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE);Result result = new MultiFormatReader().decode(bitmap, hints);System.out.println();System.out.println("快递单号:"+result.getText());System.out.println();return result.getText();} catch (Exception e) {e.printStackTrace();}return "";}public static void barcode(String imgPath) throws Exception {System.out.println("使用 barcode 扫描");String[] datas = BarcodeScanner.scan(imgPath,BarCodeType.Code_128);for (String data : datas) {System.out.println();System.out.println("快递单号:"+data);System.out.println();}}}

java扫描条形码的两种方式相关推荐

  1. 创建和应用Java包文件的两种方式(转)

    创建和应用Java包文件的两种方式(转) <Java编程艺术>章节选登.作者:高永强 清华大学出版社 (即将出版) 12.1  包--package    ... 12.1.1  包命名规 ...

  2. java制作oracle程序,Java程序操作Oracle两种方式之简单实现

    Java程序操作Oracle两种方式之简单实现 1.通过JDBC-ODBC桥连接Oracle数据库 (1)创建odbc源,在控制面板->管理工具->数据源(odbc)中添加DSN,比如取名 ...

  3. Java 实现抽奖的两种方式

    Java实现抽奖的两种方式 方式一:随机数在哪个区间内返回区间下标 方式二:随机数加入区间点集合排序返回随机数下标 代码示例: ①抽奖入参类型为BigDecimal: package com.cfay ...

  4. Java格式化倒计时的两种方式

    Java格式化倒计时的两种方式 第一种方式 /*** 入参是一个每秒减小1的秒数* 返回一个格式化的时间* * 该方法具有局限性,他在时间大于1个小时的时候,会返回错误的时间* 因为该方法调用了Dat ...

  5. java操作Excel有两种方式 方式1:jxl操作Excel jxl的API

    java操作Excel有两种方式 方式1:jxl操作Excel 方式2:poi操作Excel 下面介绍jxl API: 使用Windows操作系统的朋友对Excel(电子表格)一定不会陌生,但是要使用 ...

  6. java 产生随机数的两种方式,Java产生随机数的两种方式

    Java产生随机数的两种方式 Java产生随机数的两种方式 在java中,我们可以通过两种方式来获取随机数(generating a random number)一种是大家熟悉的java.lang.M ...

  7. Java读取证书的两种方式

    关于证书基础以及创建.查看.删除.导入.导出以及其他功能详解请参照:Java使用keytool创建CA证书 Java读取证书有两种方式 1.从文件中读取 public static void main ...

  8. java 实现websocket的两种方式

    简单说明 1.两种方式,一种使用tomcat的websocket实现,一种使用spring的websocket 2.tomcat的方式需要tomcat 7.x,JEE7的支持. 3.spring与we ...

  9. 创建和应用Java包文件的两种方式

    <Java编程艺术>章节选登.作者:高永强 清华大学出版社 (即将出版) 12.1  包--package       包是Java提供的文件管理机制.包把功能相似的类,按照Java的名字 ...

  10. java文件读写的两种方式

    今天搞了下java文件的读写,自己也总结了一下,但是不全,只有两种方式,先直接看代码: public static void main(String[] args) throws IOExceptio ...

最新文章

  1. IHttpHandler的妙用(1):给图片添加水印
  2. [2016-04-19 15:46:03 - IceHoloReader1.0] Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER [20
  3. Android生成Xml文件
  4. NYOJ 767 因子和
  5. 第一代计算机主要应用领域为数据处理,第一代计算机主要应用领域为____。    A.数据处理 B.人工智能 C.科学计算 D.过程控制...
  6. CPU-内存-IO-网络调优
  7. AppTheme属性设置集合
  8. 记录淘宝里的点点滴滴
  9. plc编程和python的联系_Python与三菱PLC通信
  10. BCM SIP ALG原理及实现(应用层实现机制)
  11. gitup上传的坑 ! [rejected] master -> dev-gaochao (fetch first)......
  12. 购买内存需要注意看哪些
  13. java的接口常用命名_Java命名和目录接口,Java Naming and Directory Interface,音标,读音,翻译,英文例句,英语词典...
  14. 计算机毕业生城市分布情况,2018年中国各省份高考生数量、高校毕业生就业流入集中区及各省份毕业生数量分布情况分析【图】...
  15. 视频剪辑使用的素材得怎么找?
  16. MyEclipse7.02注册码
  17. Python Web开发——Django框架学习
  18. spring 狂神说的详细笔记(完整版)
  19. HCIP | 华为防火墙配置
  20. Linux一个内存大页多大,Linux中的“大内存页”(hugepage)是个什么?

热门文章

  1. 计算机设备没有音频,电脑找不到音频设备是怎么回事_电脑没有音频设备怎么处理...
  2. 一些比较好用的网站整站下载工具
  3. OMRON欧姆龙触摸屏维修NT620C-ST141-E
  4. 计算机通信技术【计算机网络】学习
  5. 中国象棋棋谱棋书链接
  6. JavaScript与浏览器
  7. 2020 智能零售领域最具商业合作价值企业盘点
  8. cad黑色背景变成白色_CAD操作记不全?看这个就够了!附上全面整理,动图教程-深圳造价培训...
  9. 如何清除夏普AR-2408CN打印机屏出现小人小太阳
  10. 嵌入式硬件学习——分压电路