功能停止我的程序

Function stops my program

我正在尝试使用PrintWriter 的打印功能。当我使用这种方法时,我的程序继续 运行 但我的所有其他功能都不起作用。

    public void printVertices(PrintWriter os) {
        for(int i = 0; i < vert.size(); i++) {
            os.print(vert.get(i) + " ");
        }
        os.close();
    } 

同样,问题是您 close PrintWriter,这也关闭了基础 OutputStreamWriter

您可能添加了 os.close(); 语句,否则 PrintWriter 将缓冲输出,您将看不到任何打印到控制台的内容。

关闭 PrintWriter 将首先 flush() 它,然后再关闭它。你可能不想要第二部分。

因此,解决方案是 flush PrintWriter:

public void printVertices(PrintWriter os) {
    for(int i = 0; i < vert.size(); i++) {
        os.print(vert.get(i) + " ");
    }
    os.flush();
}