inputStream 写入HttpServletResponse
时间: 2023-08-18 18:26:35 浏览: 102
可以使用 `ServletOutputStream` 将 `InputStream` 写入 `HttpServletResponse`。
以下是示例代码:
```java
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 从数据库或其他来源获取 InputStream 对象
InputStream inputStream = getInputStreamFromDatabase();
// 设置响应头部
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=file.txt");
// 获取输出流
ServletOutputStream outputStream = response.getOutputStream();
// 将 InputStream 写入输出流
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, length);
}
// 关闭输入输出流
inputStream.close();
outputStream.flush();
outputStream.close();
}
```
这个示例代码会在浏览器下载一个名为 `file.txt` 的文件,并将 `getInputStreamFromDatabase()` 返回的 `InputStream` 对象写入到该文件中。
阅读全文