日期:2014-05-20  浏览次数:20773 次

System.out.write()输出不显示问题!
System.out.write()输出的时候,没有对缓冲区刷新('\n'可起到该作用)(不知道这样转转述别人的解释是否正确,得进一步深入学习输入输出方面的问题啊);若在第二个System.out.write(k)后面加上System.out.write('\n');或者System.out.println();或者System.out.print(' ')或者System.out.flush();等等

而第一个System.out.write(k);可以输出的原因是后面的System.out.println(); 起到了缓冲区刷新的作用。

注意:以后用System.out.write()输出的时候一定要注意用上述方法进行缓冲区的刷新,不然会丢失数据!

------解决方案--------------------
JDK API

System.out为PringStream

PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。它还提供其他两项功能。与其他输出流不同,PrintStream 永远不会抛出 IOException;而是,异常情况仅设置可通过 checkError 方法测试的内部标志。另外,为了自动刷新,可以创建一个 PrintStream;这意味着可在写入 byte 数组之后自动调用 flush 方法,可调用其中一个 println 方法,或写入一个换行符或字节 ('\n')。