Trebuie să închidem InputStream în Java?
Trebuie să închidem InputStream în Java?

Video: Trebuie să închidem InputStream în Java?

Video: Trebuie să închidem InputStream în Java?
Video: Java File Input/Output - It's Way Easier Than You Think 2024, Decembrie
Anonim

2 Răspunsuri. Tu trebuie să se închidă cel flux de intrare , deoarece fluxul returnat de metoda pe care o menționezi este de fapt FileInputStream sau o altă subclasă a lui InputStream care ține un mâner pentru un fișier. daca tu do nu închide acest flux te avea scurgeri de resurse.

Ținând cont de acest lucru, este necesar să închideți InputStream în Java?

Cu exceptia flux de intrare s nu este niciodată închis. Acesta este unul independent Java programe și există mai multe astfel de programe în care InputStream nu este niciodată închisă. În mod normal, fișierul va fi închis atunci când InputStream obiectul este gunoiul colectat sau când programul se termină. În mod normal, nu este o idee bună să lăsați lucrurile deschise așa.

De asemenea, de ce ar trebui să închidem fluxurile în Java? Este important să închide pâraiele , pentru a elibera descriptorul de fișier deținut de această clasă, ca resursă limitată și utilizat atât în conexiunea la socket, cât și în gestionarea fișierelor. O scurgere serioasă de resurse poate duce și la o excepție a descriptorului de fișier.

În al doilea rând, trebuie să închid FileInputStream?

Da, tu trebuie să se închidă fluxul de intrare dacă tu vrei resursele de sistem eliberate înapoi. FileInputStream . închide () este ceea ce tu nevoie . Nici tu trebuie să se închidă (), sau încheiați programul.

Trebuie să închid ByteArrayInputStream?

4 Răspunsuri. Nu trebuie închideți ByteArrayInputStream , în momentul în care nu este referit de nicio variabilă, garbage collector va elibera fluxul și câțiva octeți (desigur, presupunând că nu sunt referiți în altă parte).

Recomandat: