程序員備忘

          java技術
          posts - 8, comments - 0, trackbacks - 0, articles - 0

          HttpClient下載附件

          Posted on 2009-07-22 19:59 波波^_^ 閱讀(1187) 評論(0)  編輯  收藏
          使用HttpClient下載文件主要還是文件流的轉化的東西比較煩一點。httpclient的東西比較簡單的
          引用

          需要有的Jar;
              * commons-httpclient-3.1.jar
              * commons-logging-1.04.jar
              * commons-codec-1.3.jar


          Java代碼 復制代碼
          1. public class HttpClientTest {   
          2.        
          3.     private final static String REMOTE_FILE_URL = "http://www.gjt.org/download/time/java/tar/javatar-2.5.tar.gz";   
          4.        
          5.     private final static int BUFFER = 1024;   
          6.   
          7.     public static void main(String[] args) {   
          8.   
          9.        HttpClient client = new HttpClient();   
          10.        GetMethod httpGet = new GetMethod(REMOTE_FILE_URL);   
          11.         try {   
          12.             client.executeMethod(httpGet);   
          13.                
          14.             InputStream in = httpGet.getResponseBodyAsStream();   
          15.               
          16.             FileOutputStream out = new FileOutputStream(new File("E:\\test_jar\\javatar-2.5.tar.gz"));   
          17.               
          18.             byte[] b = new byte[BUFFER];   
          19.             int len = 0;   
          20.             while((len=in.read(b))!= -1){   
          21.                 out.write(b,0,len);   
          22.             }   
          23.             in.close();   
          24.             out.close();   
          25.                
          26.         }catch (HttpException e){   
          27.             e.printStackTrace();   
          28.         } catch (IOException e) {   
          29.             e.printStackTrace();   
          30.         }finally{   
          31.             httpGet.releaseConnection();   
          32.         }   
          33.         System.out.println("download, success!!");   
          34.        }   
          35. }  

          這個文章主要是參考自
          http://www.hr.utah.edu/blog/2006/03/03/file-download-using-jakarta-commons-httpclient/
          使用了緩沖,避免了IO的頻繁讀寫。

          還有一篇http://weifly.javaeye.com/blog/145457
          直接使用byte[]數組,比較便捷,但是沒有使用緩沖,因為頻繁的讀寫,看下來下載速度很慢。

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 长岭县| 额济纳旗| 苍山县| 岚皋县| 从化市| 富蕴县| 桃园县| 额济纳旗| 萍乡市| 东阳市| 通化县| 介休市| 高尔夫| 左贡县| 通许县| 溧阳市| 中西区| 拉萨市| 林州市| 宁河县| 贺州市| 衡水市| 房山区| 星子县| 宾川县| 凉城县| 韶关市| 芒康县| 维西| 新民市| 建始县| 祥云县| 咸阳市| 三都| 罗城| 灵石县| 碌曲县| 峨山| 伊宁市| 绥阳县| 弥渡县|