有人可以解释一下我们为什么要使用system.out.flush()
以更简单的方式?如果有可能丢失数据,请给我提供一个例子。如果您在下面的代码中注释它,则不会发生任何变化!
class ReverseApp{
public static void main(String[] args) throws IOException{
String input, output;
while(true){
System.out.print("Enter a string: ");
System.out.flush();
input = getString(); // read a string from kbd
if( input.equals("") ) // quit if [Enter]
break;
// make a Reverser
Reverser theReverser = new Reverser(input);
output = theReverser.doRev(); // use it
System.out.println("Reversed: " + output);
}
}
}
谢谢
当您将数据写入流时,会发生一定量的缓冲,并且您永远无法确切知道最后一个数据何时实际发送。你可能会表演很多
在关闭流之前对流进行操作,并调用flush()方法可以保证您认为已经写入的最后一个数据实际上已写入文件。
摘自.
在你的例子中,它不会改变任何东西,因为System.out
执行自动刷新意味着每次在缓冲区中写入一个字节时,都会自动刷新。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)