Rumah > Soal Jawab > teks badan
RT,就酱
Java的HttpURLConnecction的getInputStream是否需要close?
这个流是否是系统维护的?
因为不是我打开的
巴扎黑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.
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.