大家看这个url:
http://127.0.0.1:9997/file/江苏省地震应急预案(二级).docx
应为url路径中有中文没有转义,输入流报错
The valid characters are defined in RFC 7230 and RFC 398
下面我们对中文路径进行截取转义
int lastIndexOf = downloadUrl.lastIndexOf('/');
String fileName = downloadUrl.substring(lastIndexOf + 1);
// 转义关键代码
String newFileName = URLEncoder.encode(fileName, "utf-8");
String subUrl = downloadUrl.substring(0,lastIndexOf + 1);
String newUrl = subUrl + newFileName;
URL url = new URL(newUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();