java下载网络资源

package com.io;
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<String> vDownLoad = new Vector<String>();
  private Vector<String> vFileList = new Vector<String>();
 
   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 =  vDownLoad.get(i);  
      filename = vFileList.get(i);  
 
      try {  
        saveToFile(url, filename);  
      }  
      catch (IOException err) {  
        if (DEBUG) {  
          System.out.println("资源[" + url + "]下载失败!!!");  
        }  
      }  
    }  
 
    if (DEBUG) {  
      System.out.println("下载完成!!!");  
 
    }  
  }  
 
    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("正在获取链接[" + destUrl + "]的内容...\n将其保存为文件[" + fileName + "]");  
    }  
 
    //保存文件  
    while ( (size = bis.read(buf)) != -1)   
      fos.write(buf, 0, size);  
      
    fos.close();  
    bis.close();  
    httpUrl.disconnect();  
  }  
 
  /** 
   * 设置代理服务器 
   * 
   * @param proxy String 
   * @param proxyPort String 
   */ 
  public void setProxyServer(String proxy, String proxyPort) {  
    //设置代理服务器  
    System.getProperties().put("proxySet", "true");  
    System.getProperties().put("proxyHost", proxy);  
    System.getProperties().put("proxyPort", proxyPort);  
 
  }  
 

  /** 
   * 主方法(用于测试) 
   * 
   * @param argv String[] 
   */ 
  public static void main(String argv[]) {  
 
    HttpGet oInstance = new HttpGet();  
    try {  
        String url = "http://10.166.112.167:8080/portalapp/book_file/2358/137262358/137262367/20100826193207/file2.dmh";
        oInstance.saveToFile(url,"D:/11");
        //开始下载  
        oInstance.downLoadByList();  
    }  
    catch (Exception err) {  
      System.out.println(err.getMessage());  
    }  
 
  }  
 

你可能感兴趣的:(java,.net)