out.println()和flush()都有输出到客户端的作用,为什么先out.println()再flush(),却没有输出两遍?

来源:3-4 out对象

昵称是JaVa

2017-02-22 12:41

  1. 如题

  2. 我们平时输出的时候直接用flush()方法岂不是更好, 边清理缓存边输出?

写回答 关注

2回答

  • 阿米巴丶
    2017-02-22 16:31:52
    已采纳

    out.println("窗前明月光<br>"); 

    out.println("疑是地上霜<br>");

    这两句实际在I/0中都还没有输出,只是放在缓存区中,直到缓冲区满了或请求结束了就一起输出;但是调用了flush就是先缓存的被你立即输出走了,后面就不会输出了,所以也就只会输出一遍。

    昵称是JaV...

    非常感谢!

    2017-02-22 20:43:27

    共 1 条回复 >

  • 阿米巴丶
    2017-02-22 16:22:45

    缓冲区大小:8192byte
    剩余大小:8139byte
    是否自动清空:true 

    从两次剩余大小可以看出来,如果不加flush就是把4句先放到缓存中一起输出,如果加了flush就是先缓存了2句然后输出,然后再缓存2句 再输出。

JAVA遇见HTML——JSP篇

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

248279 学习 · 3071 问题

查看课程

相似问题