out对象方法

来源:3-4 out对象

我是大图图

2015-09-10 16:52

flush将缓冲区内容输出到客户端,这里的缓冲区是缓冲什么的?clear报错,clearbuffer不报错这是为什么?原理是什么

写回答 关注

4回答

  • Charles206
    2016-09-21 11:07:46

    clearBuffer():该方法用于清除缓冲区里的数据,并且把数据写到客户端,在缓冲区的数据为空的时候,那么似乎也这个方法将会产生IOException错误。

     clear():该方法用于清除缓冲区里的数据,但不把数据写到客户端,在缓冲区的数据为空的时候,那么似乎也这个方法将会产生IOException错误,所以一般要使用try……catch……块包住。


    czd_12...

    clearBuffer不会把数据写到客户端

    2016-11-03 10:52:59

    共 1 条回复 >

  • huyingzhao
    2016-03-02 16:13:57

    clear()是删除这个方法前面的缓冲区,如果前面有一个flush()会和flush()方法冲突,又要删除缓冲区内容又要输出缓冲区内容,矛盾,而clearBuffer()是删除flush()到clearBuffer()之间的缓冲区内容所以不会发送异常,因为之间要么有缓冲区内容要么null;

  • 我是大图图
    2015-09-10 17:10:52
    <%out.println("窗前明月光</br>"); %>
    <%out.println("疑是地上霜</br>"); %>
    <%out.println("举头望明月</br>"); %>
    <%out.println("低头思故乡</br>"); %>
    <%out.flush(); %>
    <%=out.getBufferSize() %>
    <%=out.getRemaining() %>
    <%out.println("窗前明月光</br>"); %>
    <%out.println("疑是地上霜</br>"); %>
    <%out.println("举头望明月</br>"); %>
    <%out.println("低头思故乡</br>"); %>
    <%out.clear(); %>
    <%=out.getBufferSize() %>
    <%=out.getRemaining() %>

    这两段代码执行后,后者前面的诗句不输出,但后面剩余缓冲区大小一样。说明,flush就是输出并清空缓冲区,clear直接清空缓冲区

    我是大图图

    但是clear和clearbuffer到底区别在那,为什么会一个有异常一个没有。

    2015-09-10 17:17:03

    共 1 条回复 >

  • 我是大图图
    2015-09-10 16:55:16

    不用flush也能显示内容,难道每段输出有个默认的flush?

JAVA遇见HTML——JSP篇

Java Web入门级教程JSP,带你轻松的学习JSP基础知识

248277 学习 · 3071 问题

查看课程

相似问题