如何清除ServletOutputStream的内容?

时间:2019-07-02 16:36:33

标签: java servlets io outputstream

我想知道如何从ServletOutputStream(或任何其他OutputStream)中删除所有内容,以防万一发生异常并且我需要outputStream为空以便不包含“一半数据”

doSmthInServlet(HttpServletResponse respone, ....) {
        try {
            ServletOutPutStream outputStream = response.getOutputStream();
            //.....
            //writing to outputstream
            //exception occurred
        } catch (Exception e) {
            // and here I need to clear all the contents of outputStream
        }
    }

2 个答案:

答案 0 :(得分:1)

ServletResponse.resetBuffer()清除缓冲区。

ServletResponse.reset()清除缓冲区,标头和响应代码。

答案 1 :(得分:0)

使用下面的重置语句。

ServletOutPutStream outputStream = response.getOutputStream();

outputStream.resetBuffer();

最好先清除缓冲区,然后再开始写入。