一般我们把App/WebApp的Message文件独立放在一个文件里面,按使用习惯,编码为GBK 或UTF8,常规的做法是,一旦修改了此文件,一般用nat2ascii转成Unicode文件,然后App引用那个Unicode编码的资源文件,这样做挺麻烦,每次修改都要转,而且在Windows系统下,很多时候这个资源文件还被App上了读锁。
后来发现一种方法直接读取UTF8格式的资源文件,而无需手动转换,Properties messageobj:
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(w_MessagePath)));
if (messageobj!=null){
messageobj.clear();
}
else{
messageobj=new GlobalConfig();
}
messageobj.load(br);
br.close();
messageobj.load的来源是InputStreamReader就可以了!!
另,Properties,PropertyResourceBundle之类的资源加载器是线程安全的,也就是说global共享一个Object就可以。