java请求拉卡拉合同下载接口后返回了字符串怎么转为文件并下载
时间: 2024-01-27 21:02:59 浏览: 101
将返回的字符串转换为文件并下载的Java代码如下:
```java
public void downloadFile(String fileContent, String fileName) throws IOException {
byte[] bytes = fileContent.getBytes();
File file = new File(fileName);
FileOutputStream fos = new FileOutputStream(file);
fos.write(bytes);
fos.flush();
fos.close();
// 设置响应头
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
// 读取文件并输出到客户端
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
OutputStream os = response.getOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = bis.read(buffer)) != -1) {
os.write(buffer, 0, len);
}
os.flush();
os.close();
bis.close();
fis.close();
}
```
其中,`fileContent` 是接口返回的字符串,`fileName` 是要保存的文件名。首先将字符串转换为字节数组,然后通过 `FileOutputStream` 将字节数组写入文件。接下来,设置响应头并读取文件输出到客户端。最后,关闭流。
需要注意的是,在响应头中设置 `Content-Disposition` 为 "attachment" 可以直接下载文件,而不是在浏览器内打开文件。
阅读全文