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

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

Properties prop=new Properties();         
prop.load(Client.class.getClassLoader().getResourceAsStream("config.properties")); 

由于使用这样的加载方式使用了系统默认的编码格式,不是UTF-8格式的读取模式,就会发生乱码情况。

正确解决方法

Properties prop=new Properties();         
prop.load(new InputStreamReader(Client.class.getClassLoader().getResourceAsStream("config.properties"), "UTF-8")); 

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

原文地址:https://www.cnblogs.com/sagech/p/4943167.html