目的是想获取static下一个目录的绝对路径,再根据条件拼接某个文件名来获取此目录下的某个文件的绝对路径。使用项目里的一个aapt命令解析apk文件。
1.获取根目录路径:
ClassUtils.getDefaultClassLoader().getResource("").getPath()
打印结果:/F:/VAT%e9%87%8d%e6%9e%84%e9%a1%b9%e7%9b%ae/APP_backup/target/classes/
拼接获得绝对路径字符串无效。
原因:
(1)路径含有中文(我是直接运行备份的项目,文件夹名含中文),'%e9%87%8d%e6%9e%84%e9%a1%b9%e7%9b%ae'
(2)打印的路径多了一个‘/’
2.解决:中文转码,截取字符
java.net.URLDecoder.decode(mAaptPath)).substring(1)
3.总结
运行的项目,绝对路径最好不要含有中文,,