关于java中url编码的问题
今天遇到这样的问题。需要下载一个文件,该文件的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
对比来看已经正确的将编码转换过来了---
相关文档:
从网络摘抄到的解决方法——
解决方法二:
连接mysql时(无论在从mysql读还是取数据的情况),指定使用的编码方式为utf-8,具体代码如下
//装载mysql-jdbc驱动
Class.forName("com.mysql.jdbc.Driver" ......
package com.down.servlet;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import java ......
class Dog {
public static void bark() {
System.out.print("woof ");
}
}
class Basenji extends Dog {
public static void bark() { }
}
public class Bark {
public static void main(String args[]) {
Dog woofer = new Dog();
Dog nipper = new Basenji();
woofer.bark();
nipper.bark();
}
}
随意地 ......
Java IO的一般使用原则:
一、按数据来源(去向)分类:
1、是文件: FileInputStream, FileOutputStream, FileReader, FileWriter
2、是byte[]:ByteArrayInputStream, ByteArrayOutputStream
3、是Char[]: CharArrayReader, CharArrayWriter
4、是String: StringBufferInputStream, StringReader, StringWriter
5、 ......
通过反射创建新类示例的两种方式及比较
作者BLOG:http://blog.csdn.net/fenglibing
通过反射创建新的类示例,有两种方式:
Class.newInstance()
Constructor.newInstance()
以下对两种调用方式给以比较说明:
l Class.newInstance() 只能 ......