BufferedWriter close()导致阻塞?

ads*_*ion -3 java android

代码如下

    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("打印东西");

无效,无法打印任何东西.为什么?

Mar*_*oun 5

答案在以下文档中BufferedWriter#close:

关闭流,先冲洗它.一旦流关闭,进一步write()flush()调用将导致IOException抛出.关闭先前关闭的流无效.

你正在关闭System.out流然后尝试System.out.println.