解析

JAVA 压缩图片-解析一维码二维码-ZXING

被刻印的时光 ゝ 提交于 2020-04-18 05:31:11
之所要压缩图片,是因为如果图片太大了,ZXING会解析失败。 另外一点就是,一维码二维码这个图片必须是水平放置,其他方向很可能会导致解析失败。 ##首先使用这个类来压缩图片: CompressPicDemo CompressPicDemo mypic = new CompressPicDemo(); //创建压缩图对象 //compressPic(大图片路径,生成小图片路径,大图片文件名,生成小图片文名,生成小图片宽度,生成小图片高度,是否等比缩放(默认为true)) mypic.compressPic("c:\\原图片路径", "c:\\输出图片路径", "原图片.后缀", "输出图.后缀", 600, 600, true); ##然后使用ZXING来解码 用到的包 core-2.0.jar javase-1.7.jar //解码 BufferedImage image = null; Result result = null; //com.google.zxing.Result image = ImageIO.read(new File(imgPath)); if (image == null) { System.out.println("the decode image may be not exit."); } LuminanceSource source = new

Java如何解析某个目录下xml文件,将XML文件转换为报表数据源?

蓝咒 提交于 2020-02-29 13:36:59
在Java开发的报表工具FineReport中,假如在目录下保存了几个XML文件,希望把XML文件转换为报表数据源,同时希望展示动态xml数据源的效果,这时可通过参数的方式,动态获取xml字段中的值再作为报表数据源。 Northwind.xml记录数据格式如下: <?xml version="1.0" encoding="UTF-8"?> <Northwind> <Customers> <CustomerID>ALFKI</CustomerID> <CompanyName>ALfreds Futterkiste</CompanyName> <ContactName>Maria Anders</ContactName> <ContactTitle>Sales Representative</ContactTitle> <Address>Obere Str.57</Address> <City>Berlin</City> <PostalCode>12209</PostalCode> <Country>Germany</Country> <Phone>030-0074321</Phone> <Fax>030-0076545</Fax> </Customers> </Northwind> 最终用于制作报表的数据源形式如下: 对于这样的情况我们如何来实现呢

SQL 脚本中的全角逗号引起【ORA-01756: 引号内的字符串没有正确结束】

不羁的心 提交于 2019-12-25 12:06:20
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 今天运行壹個小程序,功能是读取指定目录下的 SQL 脚本,并加载到内存中批量执行,之前的程序运行良好。但是今天相关开发人员更新了其中壹個 SQL 脚本,于是程序运行的时候就出错了,错误提示信息如下: 批处理中出现错误: ORA-01756: 引号内的字符串没有正确结束 。 用 Notepad++ 打开看了下 SQL 脚本,没有发现明显的语法错误,再仔细找了找包含单引号和双引号的语句,也没有看到语句未正确结束的地方。于是有点困惑,开始启动 Eclipse 的 Debug 模式仔细分析,并调低了日志级别到 DEBUG,将所有解析出来的 SQL 语句打印至控制台。 结果在日志中发现有的 SQL 语句解析之后居然是乱码,截取部分内容如下所示: 4,2,'?占淇迹罩湛贾? from TRUSTDB.TRUST_PRDT_MEM_SET t 很明显的,数字2后面的部分只有壹個开始的单引号,而没有关闭的单引号,看来极有可能是这段乱码引起的,上述内容在原始的 SQL 文件(GBK 编码)中实际是这样的: 4,2,'日间开始,日终开始之前' from TRUSTDB.TRUST_PRDT_MEM_SET t 不知道为什么经过 Java 解析之后会变成壹串乱码。找到问题的所在,修改的时候直接把“日间开始,日终开始之前

What&apos;s New in JDK 8 java8新特性汇总

℡╲_俬逩灬. 提交于 2019-12-09 19:30:51
Oracle甲骨文公司终于在2014年3月发布了Java 8正式版,它是java的一个里程牌版本,带来了诸多新特性。 针对这些新特性汇总如下: 一、针对java编程语言(Java Programming Language) 1.lambda表达式 :一种新的语言特性,能够把函数作为方法的参数或将代码作为数据。lambda表达式使你在表示函数接口(具有单个方法的接口)的实例更加紧凑。 public class Calculator { interface IntegerMath { int operation(int a, int b); } public int operateBinary(int a, int b, IntegerMath op) { return op.operation(a, b); } public static void main(String... args) { Calculator myApp = new Calculator(); IntegerMath addition = (a, b) -> a + b; IntegerMath subtraction = (a, b) -> a - b; System.out.println("40 + 2 = " + myApp.operateBinary(40, 2, addition)); System

Android 解析 plist

依然范特西╮ 提交于 2019-12-07 15:10:38
转载时请记得标明源地址: http://my.oschina.net/lijindou/blog plist 是iOS 的常用的一种数据,在iOS 中是 以 json数据 的形式 展示的,但是在Android这边的话是不提供这种解析方式的,plist的本质是 xml文件 但是 格式并不相同 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array> <dict> <key>questionID</key> <integer>1</integer> <key>whatQuestions</key> <integer>1</integer> <key>title</key> <string>判断内容是否一致</string> <key>contentStr</key> <string>HSK1级听力试题二/图片/1.png</string> <key>playPath</key> <string>HSK1级听力试题二/音频/1.mp3</string> <key>isText</key> <false/>

StringUtils.java解析【持续更新】

无人久伴 提交于 2019-12-07 03:35:36
StringUtils工具类在org.apache.commons.lang.StringUtils包下,下面我将在源码的基础上做笔记一样一点一点读下去,解析下去。 package org.apache.commons.lang; import java.util.*; // Referenced classes of package org.apache.commons.lang: // ArrayUtils, ObjectUtils, CharSetUtils, StringEscapeUtils, // WordUtils, CharUtils public class StringUtils { public static final String EMPTY = ""; public static final int INDEX_NOT_FOUND = -1; private static final int PAD_LIMIT = 8192; public StringUtils() { } /** *Java中获取长度的对应方法。 *如果是数组的话就是:数组.length属性; *如果是字符串的话就是:字符串.length()方法; *如果是集合的话就是:集合.size()方法 */ //判断字符串为不为空,等于null或者长度为0,注意:空格字符不为空 public

Excel解析与数据生成(支持JXL,POI)

旧时模样 提交于 2019-12-03 21:14:15
最近项目中需要用到Excel解析与生成Excel,但现有系统中没有进行解析工具封装于是便封装一个Excel工具包,支持JXL工具包与POI工具包解析与生成数据,POI支持2003与2007。 Excel解析目前网上有JXL与POI两个类库,相比较下JXL功能较少点 比较容易上手。POI功能更强大,支持2003与2007 。目前POI 3.8 版本中提供SXSSFWorkbook类支持大数据量操作 能够避免内存溢出(目前工具包中暂未使用SXSSFWorkbook的例子)。 工具包中用到第三方包有: cglib-nodep-2.1_3.jar (用于Excel解析时生成BeanMap对象) commons-lang3-3.1.jar jxl.jar(jxl工具包) 以下都是POI解析用到的包,如果只是使用2003可以导入少点包 dom4j-1.6.1.jar org.apache.poi-osgi-3.8.jar poi-ooxml-3.8-beta5.jar poi-ooxml-schemas-3.8-beta5.jar xmlbeans-2.5.0.jar 工具包生成与解析Excel主要依赖于反射与注解,包中申明一个ExcelAnnotation,该注解注释与需要导出字段上,用于申明标题头。生成Excel时根据判断对象是否使用该注解,然后生成Excel。解析时也根据注解进行解析。

Spring代码分析一:加载与初始化

两盒软妹~` 提交于 2019-12-03 16:29:23
一般的Web项目都会在web.xml中加入Spring监听器,内容如下: Xml代码 < listener > < listener-class > org.springframework.web.context.ContextLoaderListener </ listener-class > </ listener > < context-param > < param-name > contextConfigLocation </ param-name > < param-value > classpath*:applicationContext-struts.xml,classpath*:spring/applicationContext.xml </ param-value > </ context-param > 我们的问题是,Spring是何时以及如何加载我们的配置文件来初始化Bean工厂的,带着这些问题,我们展开研究: 我们先来看看web.xml中配置的监听器的类,来回答我们的问题,Spring是何时来加载我们的配置文件的: org.springframework.web.context.ContextLoaderListener 它继承了javax.servlet.ServletContextListener接口。

iOS开发之UITableView全面解析

无人久伴 提交于 2019-12-02 19:23:57
在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似于微信、QQ、新浪微博等软件基本上随处都是UITableView。当然它的广泛使用自然离不开它强大的功能,今天这篇文章将针对UITableView重点展开讨论。今天的主要内容包括: 1.基本介绍 2.数据源 3.代理 4.性能优化 5.UITableViewCell 6.常用操作 7.UITableViewController 8.MVC模式 http://www.cocoachina.com/ios/20140922/9710.html 来源: oschina 链接: https://my.oschina.net/u/1043856/blog/317096

Netty5_内存管理_源码讲解

佐手、 提交于 2019-11-28 15:55:14
欢迎大家关注我的微博 http://weibo.com/hotbain 会将发布的开源项目技术贴通过微博通知大家,希望大家能够互勉共进!谢谢!也很希望能够得到大家对我博文的反馈,写出更高质量的文章!! read事件发生,Netty需要从内核中读取数据到自己内部可以管辖的缓冲区,怎么进行分配?使用完毕后,怎么释放?已经write方法调用,怎样将相应数据进行缓冲区分配,以及write事件发生,flush完成后,怎样将缓冲区释放? read内存分配 要知道read是怎样进行进行内存分配的首先要知道是什么进行分配的,分配完之后,怎么进行内存回收?每次分配新的ByteBuf大小是多少? 分配内存:假设是初次进行分配(同一个socket多次进行分配的情况,后面会讲到.),我们看一下是什么时候进行分配的.上代码: int byteBufCapacity = allocHandle.guess(); int totalReadAmount = 0; do { //可能是 direct或者 heap 从与当前socket相关的allocator得到byteBuf数组 // byteBuf =allocHandle.allocate(allocator); byteBuf = allocator.ioBuffer(byteBufCapacity); int writable = byteBuf