`
qq2511296
  • 浏览: 11688 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

HttpClient 4 下载文件demo

阅读更多
package com.mail;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

public class HttpClientDownLoadFileTest {

	public static void main(String[] args) {
		String url="http://dl_dir2.qq.com/invc/xfspeed/qdesk/versetup/QDeskSetup_25_1277.exe";
		HttpClient client = new DefaultHttpClient();   
	    HttpGet httpGet = new HttpGet(url);   
	    FileOutputStream out=null;
	    InputStream inputStream=null;
	    try {
	    	HttpResponse response =client.execute(httpGet);
			HttpEntity entity=response.getEntity();
			
			if(entity!=null){
				String[] array = url.split("\\/");   
	            String[] fname = array[array.length-1].split("\\.");   
	            String fileName="",extname="";   
	            if(fname.length == 2){   
	                fileName = fname[0];   
	                extname = fname[1];   
	                System.out.println("fileName:"+fileName);
	                System.out.println("extname:"+extname);
	            }   
	            File wdFile = new File("d:\\" + fileName+"."+extname);
	            //文件已存在   
	            if(wdFile.exists()){   
	                fileName += new Date().getTime();   
	                wdFile = new File("d:\\" + fileName+"."+extname);   
	            } 
				inputStream=entity.getContent();
				out= new FileOutputStream(wdFile);   
                int l;   
                byte[] tmp = new byte[2048];   
                while ((l = inputStream.read(tmp)) != -1) {   
                    out.write(tmp, 0, l);   
                }
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			try {
				inputStream.close();
				out.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
			
		}

	}

}

 

分享到:
评论

相关推荐

    httpClient完整请求Demo

    HttpClient是Apache基金会开发的一个Java库,用于执行HTTP请求。...本示例将深入讲解如何使用HttpClient进行完整的HTTP请求,同时结合JSON数据处理,因为"json...希望这个Demo能帮助你在实际项目中更好地运用HttpClient。

    httpclient(springboot)demo

    本篇将详细介绍如何在Spring Boot项目中整合HttpClient,以及这个整合的示例(demo)所涉及的关键知识点。 首先,让我们理解Spring Boot与HttpClient的整合过程: 1. **添加依赖**:在`pom.xml`文件中,你需要引入...

    httpClient4.3 Jar包 demo

    在这个"httpClient4.3 Jar包 demo"中,你将找到HttpClient 4.3的jar文件以及相关的示例代码,对于学习和理解HttpClient的使用非常有帮助。 HttpClient 4.3主要知识点包括: 1. **基础概念**: - **HttpClient对象...

    httpclient Demo 案例 含jar

    在这个“httpclient Demo 案例 含jar”中,我们将深入探讨如何使用HttpClient来处理POST请求时传递参数的字符原样问题,即避免参数被自动处理或转换。 HttpClient 4.5版本是一个稳定且广泛使用的版本,它包含了各种...

    android httpclient demo

    在"android httpclient demo"项目中,我们可以看到以下关键文件: - `.classpath`:包含项目的类路径信息,用于构建和运行。 - `AndroidManifest.xml`:定义应用的基本信息,如权限、活动、服务等。在这个例子中,...

    HttpClient抓取网页Demo

    如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache.httpcomponents <artifactId>httpclient <version>4.5.13 ``` HttpClient的核心类是`HttpClient`和`HttpGet`。下面是一...

    Java通过HttpClient调用百度地图Demo

    在这个特定的示例中,我们关注的是如何使用HttpClient来调用百度地图的API,创建一个简单的Demo。下面将详细介绍这个过程以及相关的技术知识点。 首先,你需要在项目中引入Apache HttpClient库。这可以通过Maven或...

    C# httpclient demo

    标题"C# httpClient demo"指的是一个使用C#编程语言编写的示例代码,它演示了如何使用HttpClient类进行网络请求。HttpClient是.NET Framework 4.5及更高版本中的一个类,用于处理HTTP通信,是现代、异步且高效的HTTP...

    HttpClient post提交文件加传参的demo

    这个"HttpClient post提交文件加传参的demo"是针对初学者的一个实例,帮助理解如何使用HttpClient来实现这样的功能。在此,我们将详细探讨HttpClient的使用以及如何通过它进行文件上传和参数传递。 首先,你需要...

    java大文件分块上传断点续传demo

    本Java Demo就是针对这个问题提供的一种解决方案,它允许开发者将大文件分成多个小块进行上传,并且支持在上传过程中因故中断后从上次断点继续上传,避免了重复传输已成功上传的数据。 首先,我们需要理解分块上传...

    HttpClient PostMethod 上传文件

    提供的Demo项目可能包含了使用HttpClient发送GET和POST请求的完整示例代码,包括文件上传和乱码处理。通过对这些代码的分析和学习,你可以更好地理解和应用HttpClient进行网络通信。 总的来说,HttpClient是Java...

    httpclient发送get请求和post请求demo

    在Java编程中,Apache HttpClient库是一个非常常用的工具,它提供了对HTTP协议的强大支持,包括GET和POST...在提供的压缩包文件中,`test-demo`和`httpclient-demo`可能包含了这些示例的源码,供你进一步学习和参考。

    httpclient使用post方法上传多个图片个其他参数的demo源码

    在本示例中,我们将关注“httpclient使用post方法上传多个图片和其他参数的demo源码”,这是一个涉及到文件上传和参数传递的重要场景。 在Web开发中,POST方法常用于向服务器提交数据,比如表单数据或文件。...

    C#下载器Demo

    【C#下载器Demo】是一个基于C#编程语言和.NET框架开发的应用程序,它展示了如何在Visual Studio 2012环境下使用WPF(Windows Presentation Foundation)构建用户界面。此下载器具有断点续传的功能,这意味着用户可以...

    HttpClient_学习整理.

    - **文件上传/下载**:实现文件通过HTTP协议的上传和下载功能。 - **身份验证**:处理基于HTTP的身份验证机制。 #### 四、示例代码分析 下面是一个简单的示例代码,用于演示如何使用HttpClient获取网页内容: ```...

    查询对账单下载地址接口demo(JAVA)版本

    总之,这个"查询对账单下载地址接口demo(JAVA)版本"涵盖了Java网络编程、HTTP请求与响应处理、文件下载和配置管理等多个核心知识点,对于理解和实现类似功能的开发者来说是一个宝贵的参考资源。通过学习和实践这个...

    上传下载demo

    在IT行业中,上传和下载是网络应用的基本功能,广泛...通过理解上传下载的基本原理,结合提供的"上传下载demo",开发者可以快速构建起自己的文件上传下载功能,同时也能从博客中获取更多实践经验和技巧,提升开发效率。

    用HttpClient来模拟浏览器GET_POST

    通过使用HttpClient,可以轻松地解决以前很头疼的事情,例如处理COOKIE问题、上传文件等。 在使用HttpClient之前,我们需要了解为什么需要模拟浏览器GET_POST。通常情况下,我们都是使用IE或Navigator浏览器来访问...

Global site tag (gtag.js) - Google Analytics