java中获取配置文件路径中含有中文,出现乱码的情况解决方案

ClassLoader的getResource方法使用了utf-8对路径信息进行了编码,当路径中存在中文和空格时,他会对这些字符进行转换,这样,得到的往往不是我们想要的真实路径,在此,调用了URLDecoder的decode方法进行解码,以便得到原始的中文及空格路径
例如:结果是

/D:/%e9%bb%91%e9%a9%ac%e8%b5%84%e6%96%99/objectSpace/JDBC/day01_jdbc/out/production/day01_jdbc/jdbc.properties
而我们期望是

/D:龙王/objectSpace/JDBC/day01_jdbc/out/production/day01_jdbc/jdbc.properties。

这里我们只要在获取到路径之前把返回值decode下就可以了. 用utf-8编码. Java代码 :

ClassLoader classLoader = JdbcUtils.class.getClassLoader();
URL res  = classLoader.getResource("jdbc.properties");
String path = res.getPath();
path = java.net.URLDecoder.decode(path,"utf-8");
 
 

你可能感兴趣的:(java,开发语言)