Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何清除ServletOutputStream的内容?_Java_Servlets_Io_Outputstream - Fatal编程技术网

Java 如何清除ServletOutputStream的内容?

Java 如何清除ServletOutputStream的内容?,java,servlets,io,outputstream,Java,Servlets,Io,Outputstream,我想知道如何删除ServletOutputStream(或任何其他OutputStream)中的所有内容,以防在某个点发生异常,并且我需要OutputStream为空,以便它不包含“一半数据” ServletResponse.resetBuffer()清除缓冲区 ServletResponse.reset()清除缓冲区、标头和响应代码。使用下面的重置语句 ServletOutPutStream outputStream=response.getOutputStream() outputStrea

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


ServletResponse.resetBuffer()
清除缓冲区


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

使用下面的重置语句

ServletOutPutStream outputStream=response.getOutputStream()

outputStream.resetBuffer()


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

您可以在try块的末尾刷新,如果出现一些异常,则它将位于catch块中,您可以设置outputStream=null;然后关闭连接。
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
        }
    }