最近在做上传文件的功能时使用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