700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java properties读取中文_Java读取properties文件中文乱码

java properties读取中文_Java读取properties文件中文乱码

时间:2020-11-14 12:50:37

相关推荐

java properties读取中文_Java读取properties文件中文乱码

Java读取properties文件中文乱码

之前读取properties配置文件时候全都是英文或者数字之类的,最近项目有个需求要properties配置文件中有中文字符存在,那么读取java properties文件的时候如果value是中文,结果出现读取乱码的问题。

问题分析:开始以为是文件保存编码问题,我当前项目开发工具使用的Idea,设置有全局编码UTF-8,这个文件查看了也是UTF-8编码,但取出数据是乱码;后来放到eclipse中所有的文件编码都修改成utf8,问题依然存在;把内容复制到notepad++进行utf8编码转换,问题依旧;上网搜索有人提议重写properties类或者用jdk自带的编码转换工具,嫌麻烦而且凭感觉jdk开发者不可能不考虑东亚几国的字符编码问题;因为properties文件操作的代码是那来之前的代码,分析其代码后,发现其用的是字节流来读取文件,具体代码如下:

Propertiesproperties=newProperties();

InputStreaminputStream=this.getClass().getResourceAsStream("/menu.properties");

properties.load(inputStream);

System.out.println(properties.getProperty("a"));

因为字节流是无法读取中文的,所以采取reader把inputStream转换成reader用字符流来读取中文。代码如下:

Propertiesproperties=newProperties();

InputStreaminputStream=this.getClass().getResourceAsStream("/menu.properties");

BufferedReaderbf=newBufferedReader(new InputStreamReader(inputStream, "UTF-8"));

properties.load(bf);

System.out.println(properties.getProperty("a"));

以上操作之后再次运行已经解决了Java读取properties文件中文乱码问题

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。