Java读取properties文件中文乱码

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

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

Properties properties = new Properties();

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

properties.load(inputStream );

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

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

Properties properties = new Properties();

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

BufferedReader bf = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));

properties.load(bf);

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

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

java properties读取中文_Java读取properties文件中文乱码相关推荐

  1. 解决java web中safari浏览器下载后文件中文乱码问题

    解决java web中safari浏览器下载后文件中文乱码问题 参考文章: (1)解决java web中safari浏览器下载后文件中文乱码问题 (2)https://www.cnblogs.com/ ...

  2. java properties读取缓存_java 读取 properties文件的各种方法

    1.使用java.util.Properties类的load()方法 示例: InputStream in = lnew BufferedInputStream(new FileInputStream ...

  3. java解析txt文本文件_java读取文本文件内容方法详解,java如何读取txt文件?

    你知道java读取文本文件内容方式都有哪些吗?下面要给大家分享的就是比较简单的方法,一起来了解一下吧. 如何使用java实现读取TXT文件里的内容的方法以及思路: 下面先来看一下例子:import j ...

  4. java加载配置文件_Java 读取配置文件的五种方式

    方式一:采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来. 因为是用ServletContext读取文件路径,所以配置文件可以放入在WEB-INF的clas ...

  5. java访问excel表格_Java读取excel表格(示例代码)

    Java读取excel表格 一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢 什么是Apache POI? Apache POI是一种流行的API,它允许程序员使用Java程序创建, ...

  6. java excel 读取表头_java 读取 excel 表格内容

    一.添加依赖 org.apache.poi poi 3.8 org.apache.poi poi-ooxml 3.8 1 2 3 4 5 6 7 8 9 10 二.工具类 根据文件后缀判断 2003 ...

  7. java 字符串 数字个数_JAVA 统计字符串中中文,英文,数字,空格的个数

    packagecom.example.test;public classCountCharacter {/**中文字符*/ private int chCharacter = 0;/**英文字符*/ ...

  8. java properties 路径问题_Java 读取Properties文件时应注意的路径问题

    Java读取properties文件的方法比较多,网上最多的文章是"Java读取properties文件的六种方法",但在Java应用中,最常用还是通过java.lang.Clas ...

  9. java properties读取缓存_Java读取Properties文件

    有一个properties文件box.properties,内容如下: Color=Red Name=Box Length=18 Width=7 Heigth=8 获取其中的属性值,可用如下代码: I ...

最新文章

  1. Android UI Button 和GridView 的设计--优化(2)
  2. vue代码上传服务器后背景图片404解决方法
  3. wxWidgets:wxXmlDocument类用法
  4. SpatialHadoop中空间索引系列之(四)空间格网索引实现
  5. Oracle数据库的备份与恢复技术
  6. mysql 如何解决字段不区分大小写的问题
  7. matlab滤除100hz,关于滤波器滤波的问题,要求滤除3000Hz以上,但滤除后只剩下1000Hz以内的...
  8. 第1章 信息系统综合知识
  9. 微鉴道长SLAM学习笔记(目录)
  10. Linux常用命令宝典(简单易懂)
  11. 芯片的IR drop是什么
  12. 《娱乐至死》读书笔记
  13. iMatrix平台的权限管理系统是一个基于角色的访问控制系统
  14. 为什么我没有早点进入IT行业?
  15. 2018仁爱英语7年级下册U6T2学科讲义(有答案)
  16. 百思不得其解的Failed to allocate a managed memory buffer of 268435456 bytes.错误解决
  17. Java中静态方法的使用
  18. 总结禁止弹窗关闭弹窗的六种方法
  19. rancher搭建cdh6.2大数据平台
  20. (二十九 ~ 三十一)巴菲特与索罗斯的投资习惯:投资习惯

热门文章

  1. 上下文切换与cache内容处理
  2. 今日头条,成功展示了操纵舆论的强大能力
  3. NYOJ658 字符串右移
  4. 【优化算法】粒子群优化算法
  5. 忆捷迷你硬盘更换图标e_40个出色的迷你图标集
  6. 多选下拉框,带全部选项
  7. 什么是事务?事务的基本操作、事务的隔离性问题、事务的ACID特性
  8. wordcloud生成词云
  9. JAVA 自定义函数式编程
  10. 计算机连接不同的无线ip,tplink无线路由器ip-无线路由器的ip为什么和电脑ip不一样可是 – 手机爱问...