Java读取properties配置文件时,中文乱码解决方法

摘要:
但问题是,这太复杂了!如果您使用native2ascii-Exe将中文转换为uXXXXuXXXX,请不要说,转换后的文件完全不可读!!!这基本上是无法忍受的!(虽然它也可以用native2ascii.exe转换回来,但也很麻烦!)冷静下来后,我突然想起我在java中看到了Reader/Writer和Stream之间的区别。当我刚刚学习Java时。
Java读取properties配置文件时,中文乱码解决方法

转自:http://pig345.iteye.com/blog/725974


碰到了用java.util.Properties读取中文内容(UTF-8格式)的配置文件,发生中文乱码的现象,

 

Java代码  收藏代码
  1. Properties prop=new Properties();         
  2. prop.load(Client.class.getClassLoader().getResourceAsStream("config.properties"));  

 

习惯性google了一下,网上大多数文章都是让大家用native2ascii.exe转换 这样的解决方案,一开始还差点被懵住了,以为只能使用这样的绕弯子方法。。。

 

但关键是,太绕了! 如果每次都用native2ascii.exe将中文转换成uXXXXuXXXX这样的,麻烦先不说,转换完后的文件完全不可读!!!这基本上是不可忍受的!
(虽然也能用native2ascii.exe转换回来,但同样,麻烦!)

冷静下来后,突然想起来,还是初学java时看过,java.io包中 Reader/Writer和Stream的区别。
(年代久远,具体细节忘记了,大概是:Reader/Write是处理编码文本的,而InputStream/OutputStream只把数据当作2进制流 )

正确解决方案

 

Java代码  收藏代码
  1. Properties prop=new Properties();         
  2. prop.load(new InputStreamReader(Client.class.getClassLoader().getResourceAsStream("config.properties"), "UTF-8"));         

 

其中“UTF-8”,用于明确指定.properties文件的编码格式(不指定则默认使用OS的,这会造成同一份配置文件同一份代码,在linux和 windows上、英文windows和中文windows之间的表现都不一致),这个参数应该和具体读取的properties文件的格式匹配。

免责声明:文章转载自《Java读取properties配置文件时,中文乱码解决方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇机器学习速成笔记一nodejs项目windows下开机自启动下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

DBCP数据库连接池的使用

两个dbcp使用的架包: commons-dbcp-1.4.jar 依赖于commons-pool-1.5.5.jar commons-pool-1.5.5.jar DBCP数据库连接池的两种实现方式 TestDBCP packagecom.aff.connection; importjava.io.File; importjava.io.FileInpu...

SpringBoot集成Nacos

SpringBoot集成Nacos 1、SpringBoot集成Nacos 2、Nacos配置 2.1 命名空间 2.2 资源配置 2.2.1 Data ID 2.2.2 Group 2.2.3 Namespace 2.2.4 配置内容 2.3 配置操作 2.3.1 历史版本 2.3.2 监听查询 3、扩展配置注意事项 3.1 客户端配置...

Druid数据库连接池的使用

Druid阿里提供的数据库连接池,集以上连接池优点于一身,开发使用此连接池 使用配置文件方式获取Druid数据库连接池 TestDruid packagecom.aff.connection; importjava.io.InputStream; importjava.sql.Connection; importjava.util.Properties;...

java中读取资源文件的方法

展开全部 1.使用java.util.Properties类的load()方法 示例: //文件在项目下。不是在包下!! InputStream in = new BufferedInputStream(new FileInputStream("demo.properties")) ;   Properties p = new Properties...

kafka集群搭建和使用Java写kafka生产者消费者

 kafka集群搭建 Java代码   1.zookeeper集群  搭建在110, 111,112      2.kafka使用3个节点110, 111,112   修改配置文件config/server.properties   broker.id=110   host.name=192.168.1.110   log.dirs=/usr/...

【JAVA】使用Eclipse依赖生成jar包时,避免最外层同时生成资源文件的配置。

使用Eclipse依赖生成jar包时,如果做配置,生成的jar包文件会全部生成在外面,这并不是我们需要的,下面我们一起来修改下配置,使生成的jar包符合我们的需求吧。 1.如果不做任何配置生成的jar包如下。 这样最原始的生成方式并不是我们想要的,我们想要的是test.properties和ums.properties文件同时放到message文件夹里面...