package HttpDownFile;
import java.io.*;
import java.net.*;
import java.util.*;
public class test1 {
public final static boolean DEBUG = true;// use test
private static int BUFFER_SIZE = 8096;// buffer size
private Vector vDownLoad = new Vector();// URL list
private Vector vFileList = new Vector();// Download file list
/**
* clear download list
*/
public void resetList() {
this.vDownLoad.clear();
this.vFileList.clear();
}
/**
* add download list
* @param url String
* @param filename String
*/
public void addItem(String url, String filename) {
this.vDownLoad.add(url);
this.vFileList.add(filename);
}
/**
* download file
*/
public void downLoadByList() {
String url = null;
String filename = null;
for (int i = 0; i < this.vDownLoad.size(); i++) {
url = (String) this.vDownLoad.get(i);
filename = (String) this.vFileList.get(i);
try {
saveToFile(url, filename);
} catch (IOException err) {
if (DEBUG) {
System.out.println("[" + url + "] download error!!!");
}
}
}
if (DEBUG) {
System.out.println("Download success!!!");
}
}
/**
* @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 (DEBUG)
System.out.println("Connecting [" + destUrl + "].../nSave file["
+ fileName + "]");
while ((size = bis.read(buf)) != -1)
fos.write(buf, 0, size);
fos.close();
bis.close();
httpUrl.disconnect();
}
/**
* @param argv String[]
*/
public static void main(String argv[]) {
test1 oInstance = new test1();
try {
oInstance.addItem("要下载的文件地址", "文件保存地址和文件名"); oInstance.downLoadByList(); } catch (Exception err) { System.out.println(err.getMessage()); } }}