Java'да InputStreamди жабуу керекпи?
Java'да InputStreamди жабуу керекпи?

Video: Java'да InputStreamди жабуу керекпи?

Video: Java'да InputStreamди жабуу керекпи?
Video: Java урок - 15.3.1 Ввод-вывод. Классы Writer, Reader, InputStream, OutputStream и их отличия 2024, Май
Anonim

2 Жооптор. сен жабуу керек the киргизүү агымы , анткени сиз айткан ыкма менен кайтарылган агым чындыгында FileInputStream же башка субкласс болуп саналат. InputStream бул файл үчүн тутканы кармап турат. Эгер сен кыл жок жакын бул агым сени бар ресурстун агып чыгышы.

Муну эске алып, Java'да InputStreamди жабуу керекпи?

Бирок киргизүү агымы с эч качан жабылбайт. Бул өз алдынча Java программалар жана бир нече ушундай программалар бар InputStream эч качан жабылбайт. Адатта файл качан жабылат InputStream объект таштанды чогултулган же программа аяктаганда. Демейде мындай нерселерди ачык калтыруу жакшы идея эмес.

Ошондой эле, эмне үчүн биз Java агымдарын жабуу керек? үчүн маанилүү агымдарды жабуу , бул класска таандык болгон файлдын дескрипторун чыгаруу үчүн, анын чектелген булагы катары жана розеткага туташууда да, файлды иштетүүдө да колдонулат. Олуттуу ресурстун агып чыгышы файлдын дескрипторунун өзгөчөлүгүнө да алып келиши мүмкүн.

Экинчиден, FileInputStreamди жабуу керекпи?

Ооба сен жабуу керек киргизүү агымы, эгерде сиз келет сиздин система ресурстарыңыз кайра бошотулду. FileInputStream . жакын () сен эмне керек . Сен да жабуу керек () же программаңызды бүтүрүңүз.

ByteArrayInputStreamди жабуу керекпи?

4 Жооптор. Сиз кереги жок ByteArrayInputStreamди жабуу , ал эч кандай өзгөрмө тарабынан шилтеме кылынбаган учурда, таштанды жыйноочу агымды жана кээ бир байттарды бошотот (албетте, алар башка жерде шилтеме кылынбаган болсо).

Сунушталууда: