来自HttpURLConnection的InputStream:何时断开连接?

时间:2015-10-15 10:20:26

标签: java inputstream httpurlconnection

以下构造方法应该将URL从URL读入XML Document对象。虽然它已经有效,但我仍然怀疑它是否正确。

// Basic constructor method without exception handling
Feed(URL url) throws IOException, ParserConfigurationException, SAXException {
    HttpURLConnection httpcon = (HttpURLConnection) url.openConnection();
    httpcon.addRequestProperty("User-Agent", "Some User-Agent");

    InputStream inStream = httpcon.getInputStream();

    httpcon.disconnect();

    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    doc = builder.parse(inStream);
}

问题:

  • 首先不应该解析InputStream,然后关闭HttpURLConnection
  • 在我尝试httpcon.connect()来自get之前,不应该有httpcon吗?

1 个答案:

答案 0 :(得分:1)

  

不应该首先解析InputStream然后关闭HttpURLConnection吗?

是,或者更确切地说是关闭InputStream.

  

在我尝试从httpcon获取内容之前,不应该有一个http on.connect()吗?

没有。它隐含在获取输入流中。

您发布的代码不正确,不应该有效。应在断开连接之前读取输入流。实际上,只有在你想要阻止连接池时才需要断开连接。