项目中遇到了下载文件文件名是中文 而且还有空格 如果不对连接进行处理 下载就会报错 要想解决这个问题 只需对你的url 进行编码然后替换空格用编码表示
//对路径进行编码 然后替换路径中所有空格 编码之后空格变成“+”而空格的编码表示是“%20” 所以将所有的“+”替换成“%20”就可以了
url = URLEncoder.encode(urlStr,"utf-8").replaceAll("\\+", "%20");
//编码之后的路径中的“/”也变成编码的东西了 所有还有将其替换回来 这样才是完整的路径
url = url.replaceAll("%3A", ":").replaceAll("%2F", "/");
用以上 的方法去处理链接 下载的时候遇到中文和空格的情况差不多就都能解决了 而且如果有其他特殊字符也可以用这样的方法去解决
转载自:https://blog.csdn.net/wanglj0925/article/details/8508919