代码如下
BufferedWriter bw = null;
try
{
bw = new BufferedWriter(new OutputStreamWriter(System.out));
for(Student stu: ts) {
bw.write(stu.toString());
bw.newLine();
bw.flush();
}
bw.close();
System.out.println("print something");
} catch(Exception e) {
System.out.println("fail...");
}
Run Code Online (Sandbox Code Playgroud)
似乎BufferedWriter close()导致阻塞,和
System.out.println("打印东西");
无效,无法打印任何东西.为什么?
答案在以下文档中BufferedWriter#close:
关闭流,先冲洗它.一旦流关闭,进一步
write()或flush()调用将导致IOException抛出.关闭先前关闭的流无效.
你正在关闭System.out流然后尝试System.out.println.