Java System.out.write()执行,但不执行';t打印
所以当我执行上面的程序时,我得到了预期的输出-A 但是当注释掉最后一行时,Java System.out.write()执行,但不执行';t打印,java,io,Java,Io,所以当我执行上面的程序时,我得到了预期的输出-A 但是当注释掉最后一行时,System.out.write('\n')程序执行但不打印输出-A。 有人能解释这里到底发生了什么吗 public class BRRead { public static void main(String[] args) { int b; b='A'; System.out .write(b); System.out .write('\n'); } } 将指定的字
System.out.write('\n')代码>程序执行但不打印输出-A。
有人能解释这里到底发生了什么吗
public class BRRead {
public static void main(String[] args) {
int b;
b='A';
System.out .write(b);
System.out .write('\n');
}
}
将指定的字节写入此流。如果字节是换行符,则
启用自动刷新后,将调用刷新方法
在您的示例中,flush()
不会自动调用,如果您显式调用它,字符将被打印。在代码末尾调用System.out.flush()
基本上,Java不保证输出实际上被发送到
文件、套接字、屏幕或任何其他输出设备,直到调用
在OutputStream或Writer上刷新(),或直到关闭为止。这个
OutputStream或Writer可以缓冲输出,这意味着它将
为了提高效率,存储并发送更大的数据块。你真的不能
预测这将如何实现
PrintWriter.println()将自动调用flush(),顺便说一下,
虽然这在这里并不重要。但在任何情况下,一般规则
如果您希望输出立即出现在某个地方,那么
不使用PrintWriter.println()(或PrintStream.println()),然后调用
冲洗你自己
我打赌在写'\n'
时,sysout流会被刷新。尝试写入System.out.flush()代码>后系统输出写入(b)代码>在第二个示例中。@ZouZou这就是原因。后台的PrintStream需要刷新它。是的,它有帮助,你怎么知道呢?我现在读的这本书没有提供这么多细节?@saurabhkumar这是来自javaapi文档的。
public class BRRead {
public static void main(String[] args) {
int b;
b='A';
System.out .write(b);
//System.out .write('\n');
}
}
public void write(int b)