java下载url路径包含中文需要转义的操作
大家看这个url:
http://127.0.0.1:9997/file/江苏省地震应急预案(二级).docx
应为url路径中有中文没有转义,输入流报错
ThevalidcharactersaredefinedinRFC7230andRFC398
下面我们对中文路径进行截取转义
intlastIndexOf=downloadUrl.lastIndexOf('/');
StringfileName=downloadUrl.substring(lastIndexOf+1);
//转义关键代码
StringnewFileName=URLEncoder.encode(fileName,"utf-8");
StringsubUrl=downloadUrl.substring(0,lastIndexOf+1);
StringnewUrl=subUrl+newFileName;
URLurl=newURL(newUrl);
HttpURLConnectionconn=(HttpURLConnection)url.openConnection();
补充知识:Java中URL传递中文字符成乱码,及参数转义符转换
页面使用此函数
functionURLencode(sStr)
{
returnescape(sStr).
replace(/\+/g,'%2B').
replace(/\"/g,'%22').
replace(/\'/g,'%27').
replace(/\//g,'%2F');
}
处理一下url要传的参数,这样就可以传到后台想要的特殊字符了
以上这篇java下载url路径包含中文需要转义的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。