Java使用Properties文件存储中文时,会出现中文转成类似 \u5185\u5BB9\u7BA1\u7406\u7CFB\u7EDF的Unicode形式,在读取这些字符的时候,就需要将其转回中文。
最佳方案是使用Apache的lang3来处理:
在org.apache.commons.lang3.StringEscapeUtils类中,提供了Unicode码转中文的方法。
首先,maven pom.xml中加入包依赖:
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.5</version>
</dependency>
然后,借助spring的ResourceLoader加载Properties文件(需自己封装一下):
private static PropertiesLoader pLoader = new PropertiesLoader("classpath:/your.properties");
最后,使用StringEscapeUtils.unescapeJava() 转码:
StringEscapeUtils.unescapeJava(pLoader.getProperty("yourKey", "defaultValue"));
commons-lang3的 API文档地址: http://commons.apache.org/proper/commons-lang/javadocs/api-3.4/
本文介绍了在Java中处理Properties文件时,如何将存储为Unicode的中文字符转换回来。推荐使用Apache Commons Lang3库的StringEscapeUtils类,它提供了方便的方法进行Unicode到中文的转换。在项目中添加对应依赖后,可以便捷地实现Unicode码到中文字符的解析。
1494

被折叠的 条评论
为什么被折叠?



