加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

开发中一些小细节

(2014-07-14 14:09:37)
标签:

excel

java

解析

it

分类: 感想

   项目开发中常会有一些令自己纠结的问题,这里列举出博主遇到二三事,供大家饭后闲读.

 

1.JAVA的trim()方法 不识别全角空格

 

客户给了一个EXCEL表格,让我解析出表中数据并批量导入到数据库中,在解析中会有一些数据多出N多的空格,所以要事先进行TRIM()方法去除,但有一批数据运行后无法去除左右空格,这令我非常纠结,差点以为遇到了灵异事件,后来特意写了个小DEMO才发JAVA中trim()方法无法去除中文全角的空格,去网上查了下是字符的编号有关,总之说的很无趣,试了几种网上推荐的解决方案,找了一个我认为较好的:


 public static String delSpace(String str) throws Exception {

  if (str == null) {
   return null;
  }

  String regStartSpace = "^[  ]*";
  String regEndSpace = "[  ]*$";

  // 连续两个 replaceAll
  // 第一个是去掉前端的空格, 第二个是去掉后端的空格
  String strDelSpace = str.replaceAll(regStartSpace, "").replaceAll(
    regEndSpace, "");

  return strDelSpace;
 }

 

 

2.DB2数据库 linux和 windows上的一些差别

DB2数据库是我这个项目中使用到的主库,增删改查和Oracle mysql没有太多区别,遇到一个怪事是DB2数据库支持的字符竟然不全,有的中文在DB2中根本无法保存进去.  此外,linux版本对于批量数据插入只支持七百行左右,超过七百 便报一个数据量太大,无法执行的ERROR,而在winodws平台,我一次插入3000条毫无压力,这里说的是db2 9.7 版本.  此外,linux下 db2对INTEGER 和VARCHAR进行了明显的区分,插入数据如果是INTEGER就不允许两边有单引号.如 insert into user  values (age) '1' ,(age是integer类型)在linux下是报类型不符的错,而winodws表示毫无压力.

 

3.重构

重构是一个经常被提到的话题,这段时间也在看这本书,总体感受是对我代码质量一个质的提升,但重构的问题也随之而来,在开发中我曾有意无意的开识了重构操作,这导致的问题首先是编码量的增加,其次是上传生产的类开始变多,在开发程序中,本着只增减,能改变一个就不要动另一类的原则,我也开始纠结起来,究竟是为了重构而工作还是为了工作而工作.人越成长路越长,编程的道路我努力摆正自己的方向,向上,向前....................................

 

4.昨天阿根廷竟然败了,伤感.......................

                                                                 抟摇直上 2014 7 14日

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有