配置文件是utf-8编码,但是使用下面这种方式读取出来的中文还是乱码的:

    public static void main(String[] args) throws Exception{Properties p = loadProperty();String a = p.getProperty("pro.key");System.out.println(a);}private static Properties loadProperty() throws IOException {Properties p = new Properties();InputStream in = null;try{in = Test.Class.getClassLoader().getResourceAsStream("sms.properties");p.load(in);return p;}finally {IOUtils.closeQuietly(in);}}

原因是这种流读取方式是基于字节的,读取出来的字符编码是ISO-8859-1,做一下编码转换即可得到正确的数据:

    public static void main(String[] args) throws Exception{Properties p = loadProperty();String a = p.getProperty("pro.key");System.out.println(changeCharset(a,"ISO-8859-1","UTF-8"));}private static String changeCharset(String a,String charset1,String charset2){try {return new String(a.getBytes(charset1),charset2);} catch (UnsupportedEncodingException e) {throw new Error(e);}}

但这种方式让代码显得更加繁琐,可以直接使用reader来读取:

    private Properties loadProperty() throws IOException {Properties p = new Properties();InputStream in = null;BufferedReader reader = null;InputStreamReader sr = null;try{in = this.getClass().getClassLoader().getResourceAsStream("sms.properties");sr = new InputStreamReader(in);reader = new BufferedReader(sr);p.load(reader);return p;}finally {IOUtils.closeQuietly(reader);IOUtils.closeQuietly(sr);IOUtils.closeQuietly(in);}}

java读取配置文件中文乱码相关推荐

  1. Java读取配置文件中文乱码的问题

    首先,这里写一下我读取配置文件的方式.大家可以用以下方式读取配置文件: String fileName = "evaluation.properties";props = new ...

  2. 解决Spring项目读取配置文件中文乱码问题

    解决Spring项目读取配置文件中文乱码问题 properties配置文件读取时中文乱码,错误如下: 解决方法如下: **1.**打开IDEA的设置项,进入Editor->File encodi ...

  3. Java 读取文件中文乱码处理 Java IO读取txt文件内容的正确姿势避免中文乱码

    在读取文件时,使用InputStreamReader 指定编码格式避免中文乱码 @Testpublic void txtTest() {File file = new File("D:\\i ...

  4. 人人代码生成器中读取配置文件中文乱码解决

    generator.properties显示有乱码出现,运行后且得到的中文乱码,图如下 解决如下 1.idea快捷键 ctrl+alt+s ,进入Settings页面,然后找到File Encodin ...

  5. mysql 中文 java_Java 读取 MySQL 中文 乱码

    Java 读取 MySQL 中文 乱码 场景:Java,eclipse,读取MySQL数据库,MySQL编码为utf-8 问题:读出来的中文在eclipse的输出窗口中显示为乱码 错误的写法 1 Sy ...

  6. SpringBoot使用@Value读取.properties中文乱码及解决方法

    问题重现 某不知名springboot小项目,application.properties文件: custom.param=中文属性值 java代码: @SpringBootApplication p ...

  7. python读取中文文件乱码-详解Python的json文件读取及中文乱码显示问题解决方法...

    Python的json文件读取及解决中文乱码显示问题 本文实例讲述了Python实现的json文件读取及中文乱码显示问题解决方法.分享给大家供大家参考,具体如下: city.json文件的内容如下: ...

  8. java读取配置文件详解

    目录 使用类加载器加载配置文件 ServletContext方式 读取web.xml配置 前言: 1 这是一个java读取配置文件的方法集合,只有常见的方式 2 围绕的内容大部分是读取properti ...

  9. python json.loads()中文问题-Python实现的json文件读取及中文乱码显示问题解决方法...

    本文实例讲述了Python实现的json文件读取及中文乱码显示问题解决方法.分享给大家供大家参考,具体如下: city.json文件的内容如下: { "cities": [ { & ...

  10. java 读取配置文件工具_java读取配置文件信息properties的工具类

    java读取配置文件信息properties的工具类,介绍一个工具PropertyReader.java,读取项目配置文件信息 package mymail; import java.io.File; ...

最新文章

  1. python常用命令汇总-Python爬虫框架Scrapy常用命令总结
  2. C++字符串类型转化
  3. UVa11205 The Broken Pedometer
  4. 电子书包“翻转”课堂
  5. 西交利物浦大学企业协同平台案例分享
  6. 源码推荐:多图无缝滚动控件,多视图控制器间切换
  7. 尔雅通识课题库【1】
  8. SEM和SEO有什么区别,哪种更好一些
  9. aseprite 中心对称绘制脚本
  10. XJOI_3541_开根号
  11. 淘宝吱口令效果实现,获取系统剪贴板内容
  12. cmd里如何查看历史命令并执行
  13. 1023: 大小写转换 ZZULIOJ
  14. 江湖救急(处理域名未备案网站问题)
  15. 《Sony Vegas Pro 12标准教程》——第1章 基础篇——基础知识 1.1 影视剪辑的概念...
  16. 阴阳师各服务器在线人数,阴阳师伪神活动成难忘今宵,玩家团结一心,你换了哪个SSR?...
  17. Two-factor authentication for Apple ID
  18. 搭建自己的ngrok服务器搭建方式二
  19. 第5章 uin-app本地主机数据跨域(Cors)数据交互实现
  20. 二建工程经济电子版_2019二级建造师教材pdf下载电子版

热门文章

  1. 使用jave进行视频转码
  2. visio自己画的图怎么填充_Visio怎么画直线并填充颜色?
  3. vs2008中文版提供下载(包含中文msdn)
  4. Linux环境下安装yafu
  5. vmware16安装mac虚拟机的unlocker
  6. 如何开好一个软件类周会和周报
  7. 计算机辅助教学课件中的辅导型模式是以,在开发计算机教学辅助教学课件时采用的主要理论是()...
  8. 杂项-黑苹果安装教程
  9. html页面加载完成之后,网页加载时页面显示进度条加载完成之后显示网页内容...
  10. 已知弧长计算器_半径弧长计算软件 弧长弦长求半径计算器