1

我有一个关于 printWriter 的问题,请参阅下面的代码:

PrintWriter out = new PrintWriter(System.out);
Scanner n = new Scanner(System.in);

while (n.hasNext()) {
    String str = n.next();
    if (str.equals("m")) {
        break;
    } else {
        out.printf("%s", str);
        out.print(" ");
    }   
}
n.close();
// out.close();
System.out.println("input is successful");

当我通过键盘输入内容时,它会在屏幕上输出我输入的内容,但它没有处理程序的其余部分,这意味着它没有打印“输入成功”,但是,当我删除 out.close( ); 它一直在运行其余程序,所以我想问一下 out.close() 是什么意思?我认为这只是意味着停止写入输出,我想这与我放入 new PrintWriter(...) 的参数有关

4

1 回答 1

2

PrintWriter.close()还将关闭底层流,即System.out. 这实际上意味着任何后续输出都System.out将被忽略。

于 2013-10-10T15:12:08.400 回答