Java-da InputStream-ni yopishimiz kerakmi?
Java-da InputStream-ni yopishimiz kerakmi?

Video: Java-da InputStream-ni yopishimiz kerakmi?

Video: Java-da InputStream-ni yopishimiz kerakmi?
Video: Язык программирования Java - урок №39 (FileInputStream и FileOutputStream Чтение и запись файлов) 2024, May
Anonim

2 ta javob. Siz yopish kerak the kirish oqimi , chunki siz aytib o'tgan usul bilan qaytarilgan oqim aslida FileInputStream yoki boshqa quyi sinfdir. InputStream bu fayl uchun tutqichni ushlab turadi. Agar Siz qil emas yaqin bu oqim sizni bor resurslarning oqishi.

Buni hisobga olgan holda, Java-da InputStream-ni yopish kerakmi?

Lekin kirish oqimi s hech qachon yopilmaydi. Bu mustaqil Java dasturlari va bir nechta bunday dasturlar mavjud InputStream hech qachon yopilmaydi. Odatda fayl qachon yopiladi InputStream ob'ekt axlat yig'iladi yoki dastur tugaydi. Odatda bunday narsalarni ochiq qoldirish yaxshi fikr emas.

Bundan tashqari, nima uchun Java-dagi oqimlarni yopishimiz kerak? Buning uchun muhim oqimlarni yopish , cheklangan resurs sifatida ushbu sinfga tegishli va rozetkaga ulanishda ham, fayllarni qayta ishlashda ham foydalaniladigan fayl deskriptorini chiqarish uchun. Jiddiy resurs oqib chiqishi fayl deskriptorining istisno qilinishiga ham olib kelishi mumkin.

Ikkinchidan, FileInputStreamni yopishim kerakmi?

Ha, siz yopish kerak agar siz kiritsangiz istayman tizim resurslaringiz qaytarildi. FileInputStream . yaqin () - bu siz kerak . Siz ham yopish kerak () yoki dasturni tugating.

ByteArrayInputStreamni yopishim kerakmi?

4 ta javob. Kerak emas ByteArrayInputStream-ni yoping , hech qanday o'zgaruvchi tomonidan havola qilinmagan paytda, axlat yig'uvchi oqim va bir necha baytlarni chiqaradi (albatta, ular boshqa joyga havola qilinmagan deb hisoblasak).

Tavsiya: