关于Java获取带空格的文件路径问题

在使用如下方法

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();

}

对得到的文件路径进行解码,即可得到与原路径一致的文件路径。

你可能感兴趣的:(Java)