【问题标题】:Function stops my program函数停止我的程序
【发布时间】:2018-04-02 09:51:06
【问题描述】:

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

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

【问题讨论】:

  • 你的顶点是什么?
  • @R.Haq 它是一个通用对象的数组列表
  • 请发布一个真实的minimal reproducible example 来重现问题。您发布的代码中没有“其他功能”,并且不清楚您所说的“但我的所有其他功能都不起作用”
  • 不起作用是什么意思?你有例外吗?
  • 请添加更多信息

标签: java printing printwriter


【解决方案1】:

同样,问题是你closePrintWriter,这也关闭了底层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();
}

【讨论】:

    猜你喜欢
    • 2022-12-09
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 2019-09-04
    • 1970-01-01
    相关资源
    最近更新 更多