前言
初用properties,读取java properties文件的时候如果value是中文,会出现乱码
的问题。
1、country.properties文件
在项目的默认路径(src目录)下创建 sk.properties 属性文件(名称可以自定义,扩展名必须为 properties )。
120000=天津市
130100=石家庄市
2、编写读取 properties 属性文件,并输出属性值。
//从配置文件获取密钥信息
private static final Properties properties = getProperties();
private static String getProperties(){
Properties properties = new Properties();
try {
//生产环境根目录
FileInputStream inputStream = new FileInputStream("src/main/resources/city.properties"); //TODO 本地测试打开
properties.load(inputStream); //TODO 本地测试打开
} catch (IOException e) {
e.printStackTrace();
}
return properties.getProperty("vehLocationPartitions");
}
public void test(){
String name=properties.getProperty("120000");
// 输出结果
System.out.println("name: "+name);
}
输出结果
天津市
上面的程序执行后的结果会出现中文乱码,因为字节流是无法读取中文的,所以采取reader把inputStream转换成reader
用字符流来读取中文。
修改后的代码如下
//从配置文件获取密钥信息
private static final Properties properties = getProperties();
private static String getProperties(){
Properties properties = new Properties();
try {
//生产环境根目录
FileInputStream inputStream = new FileInputStream("src/main/resources/city.properties"); //TODO 本地测试打开
properties.load(new InputStreamReader(inputStream)); //TODO 本地测试打开
} catch (IOException e) {
e.printStackTrace();
}
return properties.getProperty("vehLocationPartitions");
}
public void test(){
String name=properties.getProperty("120000");
// 输出结果
System.out.println("name: "+name);
}
修改后的运行结果
总结
如果此篇文章有帮助到您, 希望打大佬们能
关注
、点赞
、收藏
、评论
支持一波,非常感谢大家!
如果有不对的地方请指正!!!文章来源:https://www.toymoban.com/news/detail-516396.html
参考1文章来源地址https://www.toymoban.com/news/detail-516396.html
到了这里,关于Java读取properties文件中文乱码(已解决)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!