读入一个url,把这个url的文件存到本地硬盘上(类似下载功能)

加入缓冲后文件正确的代码


代码
[code]
public void downloadLatestVersion(){
String downloadURL=this.getLatestVersionURL();
try {
byte[] buffers=new byte[10240];
int size=buffers.length;
URL url=new URL(downloadURL);
HttpURLConnection conn=(HttpURLConnection) url.openConnection();
BufferedInputStream reader=new BufferedInputStream(conn.getInputStream());
File dir=new File("D:\\test.jar");
FileOutputStream out=new FileOutputStream(dir);

while((size=reader.read(buffers))>0){
out.write(buffers, 0, size);
}
out.flush();
reader.close();
out.close();









} catch (Exception e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}




}

[/code]
特别说明下BufferedInputStream.read(byte[] b)这个值的返回值有俩两个功能:
1.告诉你这次读入数组用了多少,比如范围为1024的数组,用此方法后返回为456,那就表示他只用了1024里面的前456个,这个值可以用writer方法中,之前出错就是因为没有对这里进行限制,都是存入1024,导致文件出问题的.
2.如果等于-1表示文件读完了.这个貌似还是有不同理解请看
http://blog.csdn.net/shendl/archive/2007/03/26/1542126.aspx
不知道各位觉得比较简单的问题是不会呢还是不屑于回答我
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值