有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在关闭InputStream之前是否需要读取/跳过InputStream以完成它?

是否需要在关闭输入流之前读取/跳过输入流?如果未读取流,这会导致未来连接出现任何问题(使用keep alive)?使用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)


共 (1) 个答案

  1. # 1 楼答案

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