【问题标题】:Is it necessary to read/skip InputStream to completion before closing it?是否有必要在关闭之前读取/跳过 InputStream 完成?
【发布时间】:2012-08-30 15:33:47
【问题描述】:

在关闭流之前是否需要读取/跳过 InputStream?如果未读取流,这是否会导致未来连接出现任何问题(使用保持活动状态)?使用 Oracle JVM。

InputStream is = null;
try {
    URL url = new URL("http://example.com/executeTrigger?id=523");
    is = url.openStream();

} catch (Exception ex) {
} finally {
    if (is != null) {
        try {
            is.close();
        } catch (IOException e) {
        }
    }
}

上述是否有效,或者我应该在执行url.openStream()之后直接调用is.skip(Long.MAX_VALUE)

【问题讨论】:

  • 在你提供的上下文中,不,我不应该这样认为。

标签: java url inputstream


【解决方案1】:

在 TCP 中,它将导致发送方获得“对等方重置连接”。 Web 服务器用于浏览器消失、分页等情况,因此在这种情况下不会造成任何伤害,但如果您实现的是应用程序协议,情况会有所不同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    • 2012-02-01
    • 1970-01-01
    • 2012-01-12
    • 2018-08-23
    • 2011-10-04
    • 2012-03-23
    相关资源
    最近更新 更多