Ar turime uždaryti „InputStream“programoje „Java“?
Ar turime uždaryti „InputStream“programoje „Java“?

Video: Ar turime uždaryti „InputStream“programoje „Java“?

Video: Ar turime uždaryti „InputStream“programoje „Java“?
Video: Java - Part 262 - FileInputStream and FileOutputStream 2024, Lapkritis
Anonim

2 atsakymai. Tu reikia uždaryti į įvesties srautas , nes jūsų paminėtu metodu grąžintas srautas iš tikrųjų yra „FileInputStream“arba koks nors kitas poklasis InputStream kurioje yra failo rankena. Jei tu daryti ne Uždaryti šis srautas tave turėti išteklių nutekėjimas.

Turint tai omenyje, ar būtina uždaryti „InputStream“programoje „Java“?

Bet įvesties srautas s niekada nėra uždarytas. Tai yra atskira Java programos ir yra keletas tokių programų, kuriose InputStream niekada nėra uždarytas. Paprastai failas bus uždarytas, kai InputStream objektas yra surenkamos šiukšlės arba kai programa baigiasi. Paprastai nėra gera idėja palikti tokius dalykus atvirus.

Be to, kodėl turėtume uždaryti srautus Java? Svarbu, kad uždaryti upelius , kad būtų išleistas šios klasės failo deskriptorius, kaip ribotas išteklius ir naudojamas tiek sujungimui su lizdu, tiek tvarkant failus. Rimtas išteklių nutekėjimas taip pat gali sukelti failo deskriptoriaus išimtį.

Antra, ar man reikia uždaryti „FileInputStream“?

Taip tu reikia uždaryti įvesties srautas, jei jūs nori jūsų sistemos ištekliai grąžinti. FileInputStream . Uždaryti () yra tai, ką tu reikia . Tu irgi reikia uždaryti (), arba užbaikite programą.

Ar reikia uždaryti „ByteArrayInputStream“?

4 atsakymai. Jūs neprivalote uždarykite ByteArrayInputStream , kai jo nenurodo joks kintamasis, šiukšlių surinkėjas išleis srautą ir kai kuriuos baitus (žinoma, darant prielaidą, kad jie nėra nurodyti kitur).

Rekomenduojamas: