我一直在尝试解决一个称为Chebyshev定理(https://www.acmicpc.net/problem/4948)的算法问题
我遇到了一个有趣的情况。我还没有找出两者之间的区别。我希望可以在这里找到答案。
这是我的代码:
@HostListener('document:click', ['$event'])
handlerFunction(e: MouseEvent) {
// ...
}
这是我的结果:
如您所见,这只是显示'System.out.prinln()'的结果。
是什么原因?
答案 0 :(得分:5)
答案 1 :(得分:3)
这是一个简单的问题。
要使用'BufferedWriter'打印某些内容,您需要在想要打印出来的正确时间之后调用'flush()'。 因此,在代码中。
您需要修复此部分。
System.out.println("syso: "+answer);
bw.write("bw: "+answer);
}
bw.flush();
到
System.out.println("syso: "+answer);
bw.write("bw: "+answer);
bw.flush();
}
然后,它将打印所需的结果,即使循环运行,也可以正常打印。
并检查是否为'flush()':What is the purpose of flush() in Java streams?
它说
刷新输出流,并强制写出所有缓冲的输出字节。刷新的一般约定是,调用它的指示是,如果先前写入的任何字节已由输出流的实现缓冲,则应立即将这些字节写入其预期的目的地。
因此,要写出来,您需要在“ write()”之后调用“ flush()”。如果尚未关闭'bw',它仍然可以重用。