原因:编码格式问题,java读取properties文件默认使用的是ISO8859-1编码
解决方法:按自己的项目需要转成对应的编码格式即可。
以下附简单的java读取properties代码:
common.properties代码:
#网站名称 site=我的中文网站名称
CP.java代码:
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
public class CP {
private static final String path = "config/common.properties";//从src的根目录开始
private static final String encode = "UTF-8";//文件的编码格式
private static Properties props = new Properties();
static {
try {
props.load(Thread.currentThread().getContextClassLoader()
.getResourceAsStream(path));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static String getValue(String key) throws Exception {
return new String(props.getProperty(key).getBytes("ISO8859-1"), encode);
}
public static void updateProperties(String key, String value) {
props.setProperty(key, value);
}
public static void main(String[] args) throws Exception{
System.out.println("网站名称:"+CP.getValue("site"));
}
}
|