说说最近项目中的几个坑

实践出真知,这是亘古不变的道理,最近的项目中我也是再次深深的体会了一把这句话的含义,有意无意的进了不少坑,一个一个的填平,下边是其中一部分总结:
坑1、linux和hp-unix中几个高频率操作的区别:
由于工作需要,经常要操作服务器进行部署、巡检,项目升级等操作,之前一直都是用的linux,但最近的一次项目却需要部署到hp-unix系统上。
这两个系统大部分的操作还是差不多的,但有些高频率的操作也还是有不小的区别,虽然知道具体操作以后觉得也很简单,但是不知道的情况下,还是很可能抓耳挠腮,想破头也搞不明白。
以下两个就是最近我曾被难住的小区别,这里进行一个记录总结:
(1)、hp-unix中cmd命令行操作的时候,删除输入的内容不再是linux中常用的使用Backspace按键删除,而是使用向右的方向键来删除。
(2)、hp-unix中vi编辑文件时删除字符不再是linux中那样直接按“i”进入编辑模式,然后使用方向键调整到对应的位置,再用Backspace来删除。
而是要在非编辑模式下,使用方向键定位到要删除的地方,再按“x”键删除。
(2)、编辑一个文件后,如果要保存,linux中使用“wq!”或者“!wq”都可以,也就是说感叹号可前可后,但是hp-unix中却必须要放在后边。
而我正是在linux中习惯了把感叹号放后边,导致这么个小坑花了我近半个小时没能成功保存一个文件。

坑2、excel中数据类型和java中数据类型的对应问题:
最近所做的工作,大部分都是在使用着java操作excel,操作的多了,也就自然遇到不少问题,除开之前有说过的生成和插入图表图片的问题之外,数据类型对应也算是一个小小的问题。
excel中的日期类型自然是对应java中的date类型,文本类型对应java中的String类型,但是还有一些类型就不是那么好对应的,在poi进行处理的时候一不小心可能就进坑了,我这里就在百分比类型上遇到过一个小坑。
这里写图片描述
例如上图中的这一列就是百分比类型,它对应的实际上是java中的double类型。但是这里需要注意的地方却是,例如这里看到的88.03%,在java中用poi相关的方法获取以后,实际上是经过了转换的,变成了0.8803.
而我一开始想当然的以为是88.03,这就导致我从excel中读取数据存入到数据库中的时候和想象的不一样。
除此之外,这这个数据类型对应上还有一个问题,那就是如上图看到的是百分数,但是实际上却未必就是百分数,也可能是excel中的“常规”类型,在这种情况下,如果用poi中的获取小数的方法来获取cell里的值,也一样会进坑。
与此相似的,就是时间,看起来是时间类型,但是实际上也可能只是“常规类型”,因此在用java操作excel时,尤其是别人提供的excel时,务必要一列列的确认好究竟是什么类型。
并且如果这个excel后期也是由别人提供的话,还必须特别说明必须要保证后期的数据类型都一致,否则就可能出现我前两天出现的问题:测试时可以,结果到了生产环境换了新的excel就一堆的500。

坑3、excel中加了边框线的单元格无法get的问题:
如题,excel中加了边框线的单元格,我在java中使用poi的getRow方法时竟然获取到的是null。
虽然这个坑被填了,问题解决了,但是实际上我到现在也没有弄明白为什么,也还不知道该如何来找出为什么。
如下图
这里写图片描述
这里是加了边框线的excel,java中原本的代码是这样:

HSSFRow row = sheet.getRow(0);
row.getCell(0).setCellValue("服务器");

结果在第二行报出了空指针异常,之后一阵debug后发现竟然是没能getRow成功,虽然不知道为什么,但是好在经过自己的设想把代码改成如下以后,算是成功的解决了这个问题:

HSSFRow row = sheet.createRow(0);
row.createCell(0).setCellValue("服务器");

难道说加了边框线的行和列都还不能算创建了这个行和列么?但是有的地方却又可以正常获取,这是个奇怪的问题。

涂宗勋 CSDN认证博客专家 web安全 系统安全 安全架构
【若想不迷路,记得点关注,动动小手指,点点全是福】

6年java工作经验,现居湖北武汉,有过支付、OA、CA、OAUTH2等工作经验,现从事车联网行业。
爱好分享,个人博客blog.tzxcode.cn,微信tuzongxun,qq1160569243,欢迎来撩。
©️2020 CSDN 皮肤主题: 成长之路 设计师: Amelia_0503 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值