您的位置:首页 > 其它

合并字节流

2017-02-15 19:43 113 查看
合并字节流实现加载指定位置的国际化文件

public static String getLangValue2(String path, String key, String lang) {
Locale locale = new Locale(lang);
if (lang.indexOf("_") > 0) {
String[] lans = lang.split("_");
locale = new Locale(lans[0], lans[1]);
}
SequenceInputStream sis = null;
InputStreamReader reader = null;
String msg = "";
try {
String resourceKey = pathKey(path, locale);
ResourceBundle rb = RESOURCE_CACH.get(resourceKey);
if (rb == null) {
String proFilePath = Const.servletRealPath + path;
rb = new RootResourceBundle(proFilePath, locale, "UTF-8");
String defFilePath = Const.servletRealPath + path + ".properties";
if (StringUtils.isBlank(lang)) {
proFilePath += ".properties";
} else {
proFilePath += "_" + locale + ".properties";
}
InputStream is1 = new FileInputStream(defFilePath);
InputStream is2 = new FileInputStream(proFilePath);
sis = new SequenceInputStream(is1, is2);
reader = new InputStreamReader(sis, "UTF-8");
RESOURCE_CACH.put(resourceKey, rb);
is1.close();
is2.close();
}
msg = rb.getString(key);
// msg = new String(msg.getBytes("ISO-8859-1"), "UTF-8");
} catch (UnsupportedEncodingException e) {
Logger.exception(e);
} catch (MissingResourceException e) {
Logger.exception(e, "Can't find key " + key);
msg = "";
} catch (Exception e) {
Logger.exception(e);
msg = "";
} finally {
try {
if (sis != null) {
sis.close();
sis = null;
}
if (reader != null) {
reader.close();
reader = null;
}
} catch (IOException e) {
Logger.exception(e);
}
}
return msg;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  随笔记