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