我有一个返回**ResponseEntity(InputStreamResource)**的方法。在这个方法中,我根据输入的文件名从文件中获取InputStream,然后发送InputStreamResource作为响应。
程式码片段
InputStream inputStream = ...;
ResponseEntity<InputStreamResource> response = new ResponseEntity<InputStreamResource>(new InputStreamResource(inputStream), headers, HttpStatus.OK);
return response;
在这里我需要关闭inputStream对象吗?如果这样做,我会得到
非法状态异常:已关闭消息。
我是否需要显式关闭它们或容器将采取措施。
1条答案
按热度按时间xwbd5t1u1#
处理此操作的底层类是ResourceHttpMessageConverter,它关闭了底层输入流,这一点从此处可以明显看出