Java读取properties配置⽂件时,中⽂乱码解决⽅法.
Java读取properties配置⽂件时,中⽂乱码解决⽅法 .张子萱失恋33天
碰到了⽤java.util.Properties读取中⽂内容(UTF-8格式)的配置⽂件,发⽣中⽂乱码的现象,
Properties prop=new Properties();
prop.load(ClassLoader().getResourceAsStream("config.properties"));
孔舒航图片习惯性google了⼀下,⽹上⼤多数⽂章都是让⼤家⽤转换 这样的解决⽅案,⼀开始还差点被懵住了,以为只能使⽤这样的绕弯⼦⽅法。。。
读取配置文件失败但关键是,太绕了! 如果每次都⽤将中⽂转换成\uXXXX\uXXXX这样的,⿇烦先不说,转换完后的⽂件完全不可
读这基本上是不可忍受的!
法定节假日2022年安排时间表
(虽然也能⽤转换回来,但同样,⿇烦!)
冷静下来后,突然想起来,还是初学java时看过,java.io包中 Reader/Writer和Stream的区别。
(年代久远,具体细节忘记了,⼤概是:Reader/Write是处理编码⽂本的,⽽InputStream/OutputStream只把数据当作2进制流 )活力城
正确解决⽅案
Properties prop=new Properties();怎么查询自己的档案在哪
prop.load(new InputStreamReader(ClassLoader().getResourceAsStream("config.properties"), "UTF-8"));
其中“UTF-8”,⽤于明确指定.properties⽂件的编码格式(不指定则默认使⽤OS的,这会造成同⼀份配置⽂件同⼀份代码,在linux和windows上、英⽂windows和中⽂windows之间的表现都不⼀致),这个参数应该和具体读取的properties⽂件的格式匹配。