cari

Rumah  >  Soal Jawab  >  teks badan

Java的HttpURLConnecction的getInputStream是否需要close?

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

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

迷茫迷茫2802 hari yang lalu498

membalas semua(2)saya akan balas

  • 巴扎黑

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

    Ambil tabiat mematikan semua Aliran Input dan Aliran Output yang tidak lagi digunakan, tidak kira sama ada pelaksanaan di sebalik API mematikannya secara automatik untuk anda.
    Jika ditulis dalam Java 1.7+, sangat mudah untuk menggunakan cuba-dengan-sumber:

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

    Adegan yang serupa termasuk:

    • JDBC's PreparedStatement, ResultSet, dsb. semuanya melaksanakan antara muka AutoCloseable Secara teori, selagi Sambungan ditutup, PreparedStatement, ResultSet, dsb. yang dihasilkan olehnya juga akan ditutup secara automatik, tetapi ia sangat kuat. mengesyorkan anda menjana sumber ini Gunakan cuba-dengan-sumber untuk mengurus.

    • Begitu juga dengan sumber seperti getInputStream/getOutputStream dalam ServletRequest/ServletResponse.

    balas
    0
  • PHP中文网

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

    Diperlukan

    Apabila operasi serentak adalah sangat tinggi, jika anda tidak menutupnya, overhed pada sumber sistem akan menjadi agak besar.

    balas
    0
  • Batalbalas