java http大文件下载_Java实现HTTP文件下载

5. 代码清单

import java.io.*;

import java.net.*;

import java.util.*;

/**

* <p>Description: 将指定的HTTP网络资源在本地以文件形式存放</p>

**/

public class SaveFile {

public final static boolean DEBUG = true; //调试用

private static int BUFFER_SIZE = 8096; //缓冲区大小

private Vector vDownLoad = new Vector(); //URL列表

private Vector vFileList = new Vector(); //下载后的保存文件名列表

/**

* 构造方法

*/

public SaveFile() {}

/**

* 清除下载列表

*/

public void resetList() {

vDownLoad.clear();

vFileList.clear();

}

/**

* 增加下载列表项

*

* @param url String

* @param filename String

*/

public void addItem(String url, String filename) {

vDownLoad.add(url);

vFileList.add(filename);

}

/**

* 根据列表下载资源

*/

public void downLoadByList() {

String url = null;

String filename = null;

//按列表顺序保存资源

for (int i = 0; i < vDownLoad.size(); i++) {

url = (String) vDownLoad.get(i);

filename = (String) vFileList.get(i);

try {

saveToFile(url, filename);

} catch (IOException err) {

if (DEBUG) {

System.out.println("资源[" + url + "]下载失败!!!");

}

}

}

if (DEBUG) {

System.out.println("下载完成!!!");

}

}

/**

* 将HTTP资源另存为文件

*

* @param destUrl String

* @param fileName String

* @throws Exception

*/

public void saveToFile(String destUrl, String fileName) throws IOException {

FileOutputStream fos = null;

BufferedInputStream bis = null;

HttpURLConnection httpUrl = null;

URL url = null;

byte[] buf = new byte[BUFFER_SIZE];

int size = 0;

//建立链接

url = new URL(destUrl);

httpUrl = (HttpURLConnection) url.openConnection();

//连接指定的资源

httpUrl.connect();

//获取网络输入流

bis = new BufferedInputStream(httpUrl.getInputStream());

//建立文件

fos = new FileOutputStream(fileName);

if (this.DEBUG)

System.out.println("正在获取链接[" + destUrl + "]的内容...\n将其保存为文件[" +

fileName + "]");

//保存文件

while ((size = bis.read(buf)) != -1)

fos.write(buf, 0, size);

fos.close();

bis.close();

httpUrl.disconnect();

}

/**

* 将HTTP资源另存为文件

*

* @param destUrl String

* @param fileName String

* @throws Exception

*/

public void saveToFile2(String destUrl, String fileName) throws IOException {

FileOutputStream fos = null;

BufferedInputStream bis = null;

HttpURLConnection httpUrl = null;

URL url = null;

byte[] buf = new byte[BUFFER_SIZE];

int size = 0;

来源:考试大-Java认证

责编:yunyun  评论 纠错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值