Bootstrap

java.net.URISyntaxException的简单处理方法

最近在做上传文件的功能时使用uri截取路径发现有部分文件上传报错,java.net.URISyntaxException,

于是上网搜了一下解决方案留存后用,我的出错的文件路径地址为:

http://download.XXXXXX.cn/qypt_xxxxxx/2016/03/03/魏新雨 - 恋人心.mp3出错原因为“-”的前后有二个英文的空格存 在。

解决方法如下,但是对于我的路径装换后有问题,url.getPort()==-1

URL url = new URL(urlstr);

URI uri = new URI(url.getProtocol(), url.getHost() + ":" + url.getPort(),url.getPath(), url.getQuery(), null);

我转换后得到:http://download.XXXXXX.cn:-1/qypt_xxxxxx/2016/03/03/魏新雨%20-%20恋人心.mp3

        so,我对应自己的文件路径稍改了一下

URI uri = new URI(url.getProtocol(), url.getHost(),url.getPath(), url.getQuery(), null);

转换后得到:http://download.XXXXXX.cn/qypt_xxxxxx/2016/03/03/魏新雨%20-%20恋人心.mp3

        

;