在使用如下方法
String strPath = this.getClass().getResource("/").getPath();
获取文件路径时,若原路径带有空格,在中文环境下得到以下结果
D:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/WebRoot/WEB-INF/classes/
即空格被转化为”%20“,这样得到的路径与原路径不一致,导致使用时出错。
解决方法
使用以下语句
try {
str = URLDecoder.decode(str,"utf-8");
}
catch (UnsupportedEncodingException e){
e.printStackTrace();
}
对得到的文件路径进行解码,即可得到与原路径一致的文件路径。