httpclient下载文件
时间: 2024-08-14 15:02:47 浏览: 30
Apache HttpClient是一个流行的Java库,用于处理HTTP请求。如果你想使用HttpClient从网络下载文件,你可以按照以下步骤操作:
1. **添加依赖**:
首先,你需要将HttpClient依赖加入到你的项目中。如果你使用Maven,可以在pom.xml中添加以下依赖:
```xml
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.x.y</version> <!-- 更新到最新稳定版本 -->
</dependency>
```
其他构建工具如Gradle也类似,引入对应的HttpComponents库。
2. **创建连接**:
创建一个`CloseableHttpResponse`实例来代表HTTP响应,然后获取输入流(InputStream):
```java
HttpClient httpClient = HttpClients.createDefault();
HttpGet request = new HttpGet("http://example.com/file.zip");
CloseableHttpResponse response = httpClient.execute(request);
try (InputStream is = response.getEntity().getContent()) {
//...
}
```
3. **下载文件**:
使用`FileOutputStream`写入输入流到本地文件:
```java
File outputFile = new File("path/to/download/file.zip");
FileOutputStream fos = new FileOutputStream(outputFile);
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = is.read(buffer)) != -1) {
fos.write(buffer, 0, bytesRead);
}
fos.close();
is.close();
```
4. **关闭资源**:
别忘了在完成文件写入后关闭所有打开的连接和流,释放系统资源:
```java
response.close();
httpClient.getConnectionManager().shutdown();
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)