Musíme zatvoriť InputStream v jazyku Java?
Musíme zatvoriť InputStream v jazyku Java?

Video: Musíme zatvoriť InputStream v jazyku Java?

Video: Musíme zatvoriť InputStream v jazyku Java?
Video: Java - Part 262 - FileInputStream and FileOutputStream 2024, Smieť
Anonim

2 odpovede. vy treba zavrieť a vstupný prúd , pretože prúd vrátený metódou, ktorú spomínate, je v skutočnosti FileInputStream alebo nejaká iná podtrieda InputStream ktorá drží rukoväť na pilník. Ak ty robiť nie Zavrieť tento stream vás mať únik zdrojov.

Vzhľadom na to je potrebné zatvoriť InputStream v jazyku Java?

Ale vstupný prúd s nie je nikdy uzavretý. Toto je samostatný Java programov a existuje niekoľko takýchto programov, kde InputStream nie je nikdy zatvorená. Normálne sa súbor zatvorí, keď InputStream objekt je pozbieraný alebo keď program skončí. Normálne nie je dobrý nápad nechať veci takto otvorené.

Tiež, prečo by sme mali zatvárať streamy v Jave? Je to dôležité blízke prúdy , na uvoľnenie deskriptora súboru, ktorý má táto trieda ako jej obmedzený zdroj a používa sa pri pripájaní soketov aj pri manipulácii so súbormi. Vážny únik prostriedkov môže mať za následok aj výnimku deskriptora súboru.

Po druhé, musím zatvoriť FileInputStream?

Áno ty treba zavrieť vstupný tok, ak ste chcieť vaše systémové prostriedky uvoľnené späť. FileInputStream . Zavrieť () je to, čo vy potrebu . Ty tiež treba zavrieť (), alebo ukončite program.

Musím zatvoriť ByteArrayInputStream?

4 odpovede. nemusíš zatvorte ByteArrayInputStream , v momente, keď nie je odkazovaná žiadnou premennou, garbage collector uvoľní stream a niekoľko bajtov (samozrejme za predpokladu, že nie sú odkazované niekde inde).

Odporúča: