java 下载文件的方法(2)
昨天在写完java下载的文章后就在今天发现了一个问题。通过这个问题也反应出对HttpURLConnection这个类还不了解。趁此机会再添加一些对这个类的了解吧。首先看看前面那断代码在我的程序中出现了什么问题:
在我的程序中有这么一个模块,通过给定的url下载到文件,保存到本地。而文件是binary形式的。例如:http://abc/li.exe,
用下面代码会出现一个问题,就是当这个url被重定向到一个网页时,下载下来的就是网页的内容:
public static File saveToFiles(String destUrl,String path) throws IOException {
final int BUFFER_SIZE = 4096;
System.out.println("file download url is "+destUrl+" path is"+path+"--------------");
FileOutputStream fos = null;
BufferedInputStream bis = null;
HttpURLConnection httpconn = null;
URL url = null;
byte[] buf = new byte[BUFFER_SIZE];
int size = 0;
if(rc.isUseProxy()){ // 此处为读取配置文件的内容,确定是否使用代理
Properties prop = System.getProperties();
//set http proxy addr
prop.setProperty("http.proxyHost", rc.getHttpProxyHost()); &nbs
相关文档:
第一种方式采用jni:
Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。
可以将native方法比作Java程序同C程序的接口,其实现步骤:
1.在Java中声明native()方法,然后编译;例如: public ......
如果你不需要内部类对象与其外围类对象之间有联系,那你可以将内部类声明为static。这通常称为嵌套类(nested class)。想要理解static应用于内部类时的含义,你就必须记住,普通的内部类对象隐含地保存了一个引用,指向创建它的外围类对象。然而,当内部类是static的时,就不是这样了。嵌套类意味着:
1. 要 ......
/**
* inParam:需要转换的gb2312中文字符 返回:该中文字符对应的UTF-8编码的字符
*/
public static String toUTF(String inPara) {
char temChr;
&n ......
1.如何获得数组的长度?
数组名.length
2.访问修饰符“public/private/protected/缺省的修饰符”的使用类?
public : 公共,均可访问
private: 私有的,同一个java类中可以访问.子类不能访问.
protected: 同一个包中的类都可访问.子类可以访问.
缺省,friendly :当前类,同一个包,都可以访问.
作用域 当 ......