`
kukuqiu001
  • 浏览: 210831 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

通过 HttpClient 下载 文件

阅读更多
使用HttpClient下载文件主要还是文件流的转化的东西比较烦一点。httpclient的东西比较简单的
引用

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


public class HttpClientTest {
	
	private final static String REMOTE_FILE_URL = "http://www.gjt.org/download/time/java/tar/javatar-2.5.tar.gz";
	
	private final static int BUFFER = 1024;

	public static void main(String[] args) {

	   HttpClient client = new HttpClient();
	   GetMethod httpGet = new GetMethod(REMOTE_FILE_URL);
		try {
			client.executeMethod(httpGet);
			
			InputStream in = httpGet.getResponseBodyAsStream();
		   
			FileOutputStream out = new FileOutputStream(new File("E:\\test_jar\\javatar-2.5.tar.gz"));
		   
		    byte[] b = new byte[BUFFER];
		    int len = 0;
			while((len=in.read(b))!= -1){
			    out.write(b,0,len);
			}
			in.close();
			out.close();
			
		}catch (HttpException e){
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			httpGet.releaseConnection();
		}
       	System.out.println("download, success!!");
       }
}

这个文章主要是参考自
http://www.hr.utah.edu/blog/2006/03/03/file-download-using-jakarta-commons-httpclient/
使用了缓冲,避免了IO的频繁读写。

还有一篇http://weifly.iteye.com/blog/145457
直接使用byte[]数组,比较便捷,但是没有使用缓冲,因为频繁的读写,看下来下载速度很慢。

需要的jar包:
分享到:
评论
1 楼 feilian09 2014-07-10  
反正对我是有用的

相关推荐

    HttpClient实现文件下载

    ### HttpClient 实现文件下载 #### 一、简介与原理 在Java开发中,经常会遇到需要通过HTTP协议来获取网络资源的需求,例如从Web服务器下载文件。Apache HttpClient 是一个用于发送HTTP请求的Java类库,它提供了...

    java使用HttpClient通过url下载文件到本地

    通过查看和分析这个文件,可以更深入地理解如何在实际项目中应用HttpClient下载文件。 7. **优化与安全**: - 使用连接池管理器,如`PoolingHttpClientConnectionManager`,可以复用HTTP连接,提高性能。 - 考虑...

    HttpClient实现POST GET和文件下载

    HttpClient提供了一种便捷的方式来下载文件: 1. **创建HttpGet请求**:指定要下载文件的URL。 2. **执行请求**:发送请求并获取`HttpResponse`。 3. **准备输出流**:创建一个本地文件,并用`FileOutputStream`...

    httpclient和RestfuL风格上传下载文件

    在Java开发中,HTTPClient和RESTful风格的接口被广泛用于实现文件的上传与下载功能。HTTPClient是一个强大的HTTP客户端库,而RESTful是一种轻量级的、基于HTTP协议的软件架构风格,常用于构建Web服务。在分布式系统...

    httpclient多线程下载(分段下载)实践

    多线程下载是通过将大文件分割成多个小段,每个线程负责下载一个或多个段,这样可以充分利用多核处理器的计算能力,同时减少单个线程等待网络数据的时间,从而提高整体下载速度。在HTTPClient中,我们可以创建多个...

    org.apache.commons.httpclient 远程下载文件

    在本篇讨论中,我们将深入理解如何使用HttpClient来实现远程文件下载。 首先,我们需要导入必要的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>commons-httpclient ...

    httpClient官方文档

    在讨论HttpClient的文档时,首先应该明确它的使用范围,也即HttpClient能够做什么,以及它不做什么。在文档中,这一点被明确地指出,以帮助用户正确地利用HttpClient。 文档中提到了HttpClient的基础知识,包括以下...

    httpclient-4.2.5-API文档-中文版.zip

    包含翻译后的API文档:httpclient-4.2.5-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.apache.httpcomponents:httpclient:4.2.5; 标签:apache、httpcomponents、httpclient、中文文档、jar包、java; 使用...

    Arduino HttpClient 库文件

    在 Arduino 开发环境中,HttpClient 库是一个非常重要的工具,它允许开发者通过 Arduino 板与互联网进行通信,执行 HTTP 请求,从而获取或发送数据到服务器。这个压缩包中的 "HttpClient.cpp" 和 "HttpClient.h" ...

    httpclient.jar包下载

    然而,具体code.jar的内容需要根据实际下载的文件和项目的上下文来确定。 在使用httpclient.jar时,开发者需要注意版本兼容性,因为不同的HttpClient版本可能与不同的Java版本和服务器环境有不同的适配性。此外,...

    HttpClient中文文档,快速开发

    这个标题"HttpClient中文文档,快速开发"表明我们有了一份关于HttpClient的中文版使用指南,对于快速理解和应用HttpClient进行开发来说非常有价值。 HttpClient允许开发者执行各种HTTP方法,如GET、POST、PUT、...

    httpclient-4.5.5-API文档-中文版.zip

    赠送jar包:httpclient-4.5.5.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    httpclient下载文件

    apache httpclient 的几个简单封装,基于httpclient4.3. 示例代码: long len = HttpUtil.download("http://localhost/upload/817.mov", "D:/test.mov"); 内部含有源码jar和lib,请翻阅 httpdownloadutil.jar

    httpclient.jar 文件下载

    httpclient.jar文件包含了HttpClient的所有核心类和方法,使得开发者可以便捷地集成到自己的Java应用中。 二、主要功能与API 1. HTTP请求:HttpClient允许开发者创建各种类型的HTTP请求,如GET、POST、PUT、DELETE...

    httpclient 文件上传 下载

    文件下载通常通过GET请求实现,HTTPClient 4中的`HttpGet`类就是为此设计的。你可以创建一个`HttpGet`实例,指定文件的URL,然后使用`HttpClient.execute()`方法发送请求。为了保存下载的文件,你可以创建一个`...

    httpclient.jar包下载.zip

    在Java环境中,`httpclient.jar`是HttpClient库的二进制文件,通常通过Maven或Gradle等构建工具作为依赖引入项目。将`httpclient.jar`下载并添加到项目类路径中,即可使用HttpClient的功能。 总的来说,HttpClient...

    HttpClient实现远程下载

    通过HttpClient实现远程下载,本例子通过java代码实现

    ESP8266HTTPClient.zip

    如果需要通过POST请求上传文件,可以使用`addHeader()`设置MIME类型,然后用`write()`写入文件内容。 7. **错误处理**: 库还提供了错误检查功能,如`http.errorToString()`可以将错误代码转换为人类可读的字符串...

    httpclient-4.5.3官方API中文文档_最新译版_2886K

    《HttpClient 4.5.3官方API中文文档详解》 HttpClient是Apache软件基金会下的一个开源项目,主要用于构建HTTP客户端应用程序,提供了丰富的功能和强大的性能。本文将基于4.5.3版本的HttpClient官方API中文文档,...

Global site tag (gtag.js) - Google Analytics