如何清除ServletOutputStream的内容?

how to clear contents of ServletOutputStream?

我想知道如何从 ServletOutputStream(或任何其他 OutputStream)中删除所有内容,以防在某个时候发生异常并且我需要 outputStream 为空以便它不包含 "half of data"

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
        }
    }

ServletResponse.resetBuffer() 清除缓冲区。

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

使用下面的重置语句。

ServletOutPutStream outputStream = response.getOutputStream();

outputStream.resetBuffer();

清除缓冲区然后开始写入总是更好。