Trenger vi å lukke InputStream i Java?
Trenger vi å lukke InputStream i Java?

Video: Trenger vi å lukke InputStream i Java?

Video: Trenger vi å lukke InputStream i Java?
Video: Как показать свой контроллер в стриме OBS! Контроллер отображения в прямом эфире! Экранные элементы управления OBS! 2024, Kan
Anonim

2 svar. Du trenger å stenge de input Stream , fordi strømmen som returneres av metoden du nevner, faktisk er FileInputStream eller en annen underklasse av InputStream som holder et håndtak for en fil. Hvis du gjøre ikke Lukk denne streamen deg ha ressurslekkasje.

Med tanke på dette, er det nødvendig å lukke InputStream i Java?

Men inndatastrøm s er aldri stengt. Dette er en frittstående Java programmer og det finnes flere slike programmer der InputStream er aldri stengt. Normalt vil filen bli lukket når InputStream objektet er søppel samlet eller når programmet avsluttes. Det er vanligvis ikke en god idé å la ting være åpne på denne måten.

Dessuten, hvorfor skal vi stenge strømmer i Java? Det er viktig å lukke bekker , for å frigi filbeskrivelsen som holdes av denne klassen, som dens begrensede ressurs og brukes i både socket-tilkobling og filhåndtering. En alvorlig ressurslekkasje kan også føre til unntak for filbeskrivelser.

For det andre, må jeg lukke FileInputStream?

Ja du trenger å stenge inputstream hvis du ønsker systemressursene dine frigitt tilbake. FileInputStream . Lukk () er det du trenge . Du enten trenger å stenge (), eller avslutte programmet.

Må jeg lukke ByteArrayInputStream?

4 svar. Du trenger ikke lukk ByteArrayInputStream , i det øyeblikket det ikke refereres til av noen variabel, vil søppeloppsamleren frigi strømmen og noen byte (selvfølgelig forutsatt at de ikke er referert et annet sted).

Anbefalt: