java resttemplate下载文件
时间: 2023-11-29 21:46:46 浏览: 29
Java中可以使用RestTemplate来下载文件。RestTemplate是Spring框架提供的一个用于访问Rest服务的客户端,它支持多种HTTP请求方式,包括GET、POST、PUT、DELETE等。使用RestTemplate下载文件可以通过以下步骤实现:
1.创建RestTemplate对象
```java
RestTemplate restTemplate = new RestTemplate();
```
2.使用RestTemplate下载文件
方式1:内存中转下载
```java
byte[] fileBytes = restTemplate.getForObject(fileUrl, byte[].class);
```
方式2:临时文件中转下载
```java
File file = restTemplate.execute(fileUrl, HttpMethod.GET, null, clientHttpResponse -> {
File ret = File.createTempFile("temp", ".tmp");
StreamUtils.copy(clientHttpResponse.getBody(), new FileOutputStream(ret));
return ret;
});
```
方式3:缓冲区中转下载
```java
restTemplate.execute(fileUrl, HttpMethod.GET, null, clientHttpResponse -> {
BufferedInputStream bis = new BufferedInputStream(clientHttpResponse.getBody());
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(localFilePath));
byte[] buffer = new byte[1024];
int len;
while ((len = bis.read(buffer)) > 0) {
bos.write(buffer, 0, len);
}
bos.close();
bis.close();
return null;
});
```