Maison  >  Questions et réponses  >  le corps du texte

Java的HttpURLConnecction的getInputStream是否需要close?

RT,就酱
Java的HttpURLConnecction的getInputStream是否需要close?

这个流是否是系统维护的?
因为不是我打开的

迷茫迷茫2743 Il y a quelques jours465

répondre à tous(2)je répondrai

  • 巴扎黑

    巴扎黑2017-04-18 10:51:55

    Prenez l'habitude de désactiver tous les InputStreams et OutputStreams qui ne sont plus utilisés, que l'implémentation derrière l'API les désactive automatiquement ou non pour vous.
    S'il est écrit en Java 1.7+, il est très simple d'utiliser try-with-resource :

    try (InputStream in = urlConnection.getInputStream()) {
        ...
    } // 这里会自动调用 in.close();
    

    Les scènes similaires incluent :

    • Les PreparedStatement, ResultSet, etc. de JDBC implémentent tous l'interface AutoCloseable. En théorie, tant que la connexion est fermée, les PreparedStatement, ResultSet, etc. générés par celle-ci seront également automatiquement fermés, mais c'est fortement le cas. Il est recommandé de générer ces ressources. Utilisez try-with-resource pour gérer.

    • Il en va de même pour les ressources telles que getInputStream/getOutputStream dans ServletRequest/ServletResponse.

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-18 10:51:55

    Obligatoire

    Lorsque les opérations simultanées sont très élevées, si vous ne le fermez pas, la surcharge sur les ressources système sera relativement importante.

    répondre
    0
  • Annulerrépondre