自适应的应用系统与应用服务器之间的适用
在开发时,在websphere环境中,读取参数文件时,出现乱码, 修改参数文件自身的编码格式或者修改websphere的默认编码都不能解决问题。在修改完websphere的默认编码之后,这个参数文件,可以读取了,但是应用系统的等其它功能例如文件导入,全部出现乱码,所以修改应用服务器的默认编码是不可取的。
比较合理的方式是:在应用系统中,首先从参数文件中获得参数文件的编码信息,然后根据编码信息将参数文件的内容转换成byte数组,使得系统适用于发布服务器的环境。这样的应用系统是自适应的。
//原有的代码
Properties properties = new Properties();
PropertiesPersister pPersister = new DefaultPropertiesPersister();
java.io.File file=ResourceUtils.getFile("classpath:config.properties");
java.io.FileInputStream in = new FileInputStream(file);
//以下是新加入的代码
CharsetDetector detector = CharsetDetector.getInstance();
//读取文件的编码格式
//String charset = detector.getCharSetFromInputStream(in);
//从字节数组中,读取字节流
java.io.ByteArrayInputStream bytein =
new java.io.ByteArrayInputStream(detector.getBackbuf());
//读入参数
pPersister.load(properties, bytein);