日期:2014-05-16  浏览次数:20744 次

系统迁移到linux下修正的一些问题 (转)

项目从windows环境迁移到linux环境遇到的几个问题:
1、路径名:
windows下的路径分隔符是\ ,linux下是/ , 程序中需要用System.getProperty("file.separator")来获取程序所在环境下的路径分隔符
2、日期转换:
从表单中获取yyyy-MM-dd格式的日期value后需要转换位date类型,使用DateFormat.getDateInstance().parse(value)时获得的日期转换器是缺省的(default date/time formatters),不能用于linux环境下,解决办法是显式指定转换器的格式:
new SimpleDateFormat("yyyy-MM-dd").parse(value)
3、获取字节数的问题:
String类的getBytes()方法是使用平台的默认字符,在linux下和windows下相同字符串获得的byte[]是不同的 应该使用
getBytes(String charsetName) 方法用charsetName来显式指定字符集 ,如“UTF-8”

?

==========

测试

Locale locale = Locale.US;
SimpleDateFormat formater = new SimpleDateFormat("dd/MM/yyyy",locale);
Date date = formater.parse(value.toString().trim());
formater.applyPattern("yyyy-MM-dd");
value = formater.format(date);

?

=============

?

把yyyy-MM-dd 的转换成yyyyMMdd格式,
SimpleDateFormat outFormat = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat inFormat = new SimpleDateFormat("yyyyMMdd");
date = inFormat.parse(inDate);
dateFormat = outFormat.format(date);