package com.aq.test;import java.io.*;
import java.net.*;
import java.util.*;public class HttpGet {
public final static boolean DEBUG = true;// 调试用
private static int BUFFER_SIZE = 8096;// 缓冲区大小
private Vector vDownLoad = new Vector();// URL列表
private Vector vFileList = new Vector();// 下载后的保存文件名列表 /**
 * 构造方法
 */
public HttpGet() {
} /**
 * 清除下载列表
 */
public void resetList() {
vDownLoad.clear();
vFileList.clear();
} /**
 * 增加下载列表项
 *   */
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资源另存为文件

 */
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();
}
public static void main(String argv[]) {
HttpGet oInstance = new HttpGet();
try {


oInstance.addItem("http://8080/examples/1.zip", "f://1.zip");
oInstance.addItem("file:\\\\23.23.23.2\\1.zip", "f://002.zip "); // 开始下载
oInstance.downLoadByList();
} catch (Exception err) {
System.out.println(err.getMessage());
}
}
}