Kas peame Javas InputStreami sulgema?
Kas peame Javas InputStreami sulgema?

Video: Kas peame Javas InputStreami sulgema?

Video: Kas peame Javas InputStreami sulgema?
Video: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"] 2024, Mai
Anonim

2 vastust. Sina tuleb sulgeda a sisend Voog , kuna teie mainitud meetodi abil tagastatud voog on tegelikult FileInputStream või mõni muu alamklass InputStream mis hoiab faili jaoks käepidet. Kui sa teha mitte Sulge see voog sind on ressursside leke.

Kas seda arvesse võttes on vaja InputStream Javas sulgeda?

Kuid sisendvoog s pole kunagi suletud. See on eraldiseisev Java programmid ja on mitmeid selliseid programme, kus InputStream pole kunagi suletud. Tavaliselt suletakse fail, kui InputStream objektiks on prügi kogutud või kui programm lõpeb. Tavaliselt pole hea mõte asju nii lahtiseks jätta.

Samuti, miks peaksime Java voogusid sulgema? Oluline on sulgeda ojad , et vabastada selle klassi piiratud ressursina hoitav failideskriptor, mida kasutatakse nii pesaühenduse kui ka failikäsitluse jaoks. Tõsine ressursileke võib põhjustada ka failideskriptori erandi.

Teiseks, kas ma pean FileInputStreami sulgema?

Jah, sina vaja sulgeda sisendvoogu, kui te tahan teie süsteemiressursid vabastatakse. FileInputStream . Sulge () on see, mida sina vaja . Sina kas vaja sulgeda () või lõpetage programm.

Kas ma pean ByteArrayInputStreami sulgema?

4 vastust. Sa ei pea sulgege ByteArrayInputStream , kui sellele ei viita ükski muutuja, vabastab prügikoguja voo ja mõned baidid (muidugi eeldusel, et neile ei viidata kusagil mujal).

Soovitan: