读取文件路径时可能存在以下情况:
1、空格,如果出现空格会转变成“%20”
2、中文路径,如果出现中文路径会变成URI编码“%e5%bc%80%e5%8f%91%e5%b7%a5%e7%a8%8b”
处理以上问题,可以有如下解决方法:
1、对于空格问题,可以使用replaceAll("%20"," ")
2、URLDecoder.decode("string","UTF-8");,但是这种方法当路径上有+号时会变成空格,所以也会有问题。
3、完美解决方法:getResource("").toURI().getPath()。可以同时解决以上两个问题。
参考: