关于java中url编码的问题
2010-04-15 16:53
281 查看
今天遇到这样的问题。需要下载一个文件,该文件的url如下: hxxp://www.abc.com/view/img/%E7%BD%91%E4%B8%8A%E8%B4%AD%E7%89%A9.rar
此链接在浏览器下会重定向到别的网站。所以下载下来的文件并非我想要的。查了下原来是url编码后的文件名。那么要想下载就必须对这个编码进行解码。。。。。
程序很简单,java自带编解码的方法:
public class TestUrlCode {
public static void main(String[] args){
String keyWord = "hxxp://www.abc.com/view/img/%E9%BB%91%E7%99%BD%E6%97%A0%E5%B8%B8.rar
“;
try {
keyWord = URLDecoder.decode(keyWord, "UTF-8");
System.out.println(keyWord);
String urlStr = URLEncoder.encode("黑白无常", "UTF-8");
System.out.println(urlStr);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
结果 : hxxp://www.abc.com/view/img/黑白无常.rar
%E9%BB%91%E7%99%BD%E6%97%A0%E5%B8%B8
对比来看已经正确的将编码转换过来了---
此链接在浏览器下会重定向到别的网站。所以下载下来的文件并非我想要的。查了下原来是url编码后的文件名。那么要想下载就必须对这个编码进行解码。。。。。
程序很简单,java自带编解码的方法:
public class TestUrlCode {
public static void main(String[] args){
String keyWord = "hxxp://www.abc.com/view/img/%E9%BB%91%E7%99%BD%E6%97%A0%E5%B8%B8.rar
“;
try {
keyWord = URLDecoder.decode(keyWord, "UTF-8");
System.out.println(keyWord);
String urlStr = URLEncoder.encode("黑白无常", "UTF-8");
System.out.println(urlStr);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
结果 : hxxp://www.abc.com/view/img/黑白无常.rar
%E9%BB%91%E7%99%BD%E6%97%A0%E5%B8%B8
对比来看已经正确的将编码转换过来了---
相关文章推荐
- 关于java的URL编码的问题(URLencode,encode)
- 关于javaweb项目突然找不到包的问题
- jboss关于内存溢出的问题java.lang.OutOfMemoryError: PermGen space
- 关于java中replace,replaceFirst,replaceAll的一个问题
- Java中关于农夫过河的问题
- 关于打包java文件并生成可执行文件的问题
- 关于java中多线程的问题的一点思考(什么情况下需要考虑到线程,以及线程安全的问题?)
- 关于Java控制台输入输出乱码问题(转载)
- 关于Java设置环境变量后的调试出现问题的解决方案
- 关于java web项目中文乱码问题
- 关于java中float运算的精度问题
- 关于java中Double类型运算精度问题
- 关于JSON中字符串与java对象的相互转换问题
- 关于java文件编译后的JDK版本问题
- [原创][分享]关于JAVA的环境变量设置问题
- 关于JAVA的try catch finally的return返回值问题
- 关于PHP与Java AES加解密互通的Padding问题
- 关于Java中的一些问题汇总
- 关于Java变量初始化顺序问题实践
- 关于JAVA的中文问题