Onko InputStream suljettava Javassa?
Onko InputStream suljettava Javassa?

Video: Onko InputStream suljettava Javassa?

Video: Onko InputStream suljettava Javassa?
Video: Чтение неизвестного количества входных данных в C++ 2024, Marraskuu
Anonim

2 vastausta. Sinä täytyy sulkea the input Stream , koska mainitsemasi menetelmän palauttama virta on itse asiassa FileInputStream tai jokin muu alaluokka InputStream joka pitää kahvaa tiedostoa varten. Jos sinä tehdä ei kiinni tämä stream sinua omistaa resurssivuoto.

Pitääkö tämä huomioon, onko InputStream tarpeen sulkea Javassa?

Mutta syöttövirta s ei ole koskaan suljettu. Tämä on erillinen Java ohjelmia ja on olemassa useita tällaisia ohjelmia, joissa InputStream ei ole koskaan suljettu. Yleensä tiedosto suljetaan, kun InputStream objekti on kerätty roskat tai kun ohjelma päättyy. Yleensä ei ole hyvä idea jättää asioita avoimeksi näin.

Lisäksi miksi meidän pitäisi sulkea streamit Javassa? On tärkeää sulje purot , vapauttamaan tämän luokan ylläpitämän tiedostokuvaajan rajoitettuna resurssina, jota käytetään sekä socket-yhteydessä että tiedostojen käsittelyssä. Vakava resurssivuoto voi johtaa myös tiedostokuvaajan poikkeukseen.

Toiseksi, pitääkö minun sulkea FileInputStream?

Kyllä sinä täytyy sulkea tulovirta, jos olet haluta järjestelmäresurssit vapautetaan takaisin. FileInputStream . kiinni () on mitä sinä tarve . Sinä joko täytyy sulkea (), tai lopeta ohjelmasi.

Pitääkö minun sulkea ByteArrayInputStream?

4 vastausta. Sinun ei tarvitse sulje ByteArrayInputStream , sillä hetkellä, kun mikään muuttuja ei viittaa siihen, roskankerääjä vapauttaa virran ja jotkin tavut (tietenkin olettaen, että niihin ei viitata muualla).

Suositeltava: