System.out.flush();是什么意思呢? flush();是流式输入输出常用的一个方法,表示强制请求清空缓冲区,让i/o系统立马完成它应该完成的输入、输出动作。比如,在你的程序中,System.out.flush();可以保证在执行到s=br.readLine();之前,System.out.print("输入一个字符串:");一定已经得以执行了。也就是说屏幕上肯定会出现“输入一个字符串:”这句话。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 输入输出流一般都是用缓冲的,也就是说不是每次你要它读/写一个或少数几个字节,他就立马执行的,而是将这些请求放入缓冲,积累到一定量的时候才一起执行,以提高效率。flush的作用就是强制将缓冲区里的东西立刻执行然后清空,不管里面有多少东西。 Flush the stream. This is done by writing any buffered output bytes to the underlying output stream and then flushing that stream. 如果把System.out.flush();这条语句去掉上面的程序的执行结果会有什么不一样吗?换句话说,什么场合下,必须要System.out.flush()? 你如果去Java API里察看 System.out的类型,发现是PrintStream PrintStream 有一个flush()函数(或叫方法),所以你可以使用 System.out.flush()因为在实际应用中,PrintStream可能被包装成不同的类使用,因此输出流在不同的应用中是将数据输送到不同的地方去的。 在System.out中,此输出流是将数据输出到屏幕上,因此,速度很快,不需要缓冲,因此,用或不用System.out.flush() 没有什么区别。但如果另外一个输出流是把数据输送到网络上另外一台机器上,传输受到网络的限制,尚未发送的数据被存在缓冲区里,这时你调用flush()就可以确保缓冲区的数据全部被发送后再执行后面的语句。 to: umeshu(一只批着狼皮的羊) 照你那么说,如果没有System.out.flush();这句话,那么“输入一个字符串:”就不一定会输出了??如果,没有System.out.flush();,结果有什么不同吗 ? 是的。或者说,jvm不保证一定会输出“输入一个字符串:”。可实际上,在楼主这种情形下,出现不输出的情况的概率几乎为O。呵呵。 请问一道java基础题,请大侠帮忙,谢谢 java播放wav的问题 Java一维数组的长度是否可以在保持原有数据的情况下增长? 线程同步问题 请大家推荐一个Java实现平面直角坐标系的第三方类库 我刚装了jbuilder8企业版,但创建jsp并编译时总是出现异常 求教:JBuilder8 中实现“run 文件”方法。 如何找到mp3的第一帧(位置)? 高分寻找答案 myeclipse如何批量给包中的代码加上package xxxx 高手请进!(关注者有分) 如何保护自己编写的Java程序不会被反编译看到?
flush的作用就是强制将缓冲区里的东西立刻执行然后清空,不管里面有多少东西。
PrintStream 有一个flush()函数(或叫方法),所以你可以使用 System.out.flush()因为在实际应用中,PrintStream可能被包装成不同的类使用,因此输出流在不同的应用中是将数据输送到不同的地方去的。 在System.out中,此输出流是将数据输出到屏幕上,因此,速度很快,不需要缓冲,因此,用或不用System.out.flush() 没有什么区别。但如果另外一个输出流是把数据输送到网络上另外一台机器上,传输受到网络的限制,尚未发送的数据被存在缓冲区里,这时你调用flush()就可以确保缓冲区的数据全部被发送后再执行后面的语句。